Abstracts

Pharo X News

Stéphane Ducasse

In this presentation we will present the key features of Pharo X. Pharo X saw

  • the enhancement of Spec2, removal of Spec1, rewriting of most tools in Spec2
  • a massive amount of classes removal (GT tools, Glamour, Spec1)
  • new fluid class syntax
  • ephemeron fixes
  • many many bugs and enhancements

In addition we will sketch the possible roadmap for Pharo 11 and the current development effort for this future version of Pharo.
During this talk you will discover the new features of Pharo X and the vision for Pharo XI.

Pharo Virtual Machine : news from the front

Pablo Tesone / Guillermo Polito

This talk is an overview of all the improvements and evolutions that are happening to the Pharo VM. Pharo VM is in constant evolution: new image format, permanent objects space, performance improvements, JIT compiler, deployment, security, new architectures. We are pushing the VM as key part of Pharo's ecosystem.

ReStore Relational Database Framework

John Aspinall

ReStore is a framework enabling Pharo objects to be stored in and read from relational databases. ReStore aims to make relational persistency as simple as possible, giving the advantages of relational storage (scalability, familiarity, compatibility) with minimal impact on the Pharo programming experience. In particular, ReStore uses a collection metaphor for fetching objects from the database using familiar select:, detect:, reject: etc. messages, allowing sophisticated queries to be created without any knowledge or experience of SQL.

The presentation will give an insight into the philosophy behind ReStore, highlighting its mix of simplicity and sophistication and how these enable relational storage to easily be leveraged by Pharo applications.

Expressive Systems: rapid development of flexible business applications

Jonathan van Alteren, Erik Stel (Guild Partners @ Object Guild)

We are developing the Expressive Systems framework, inspired by Richard Pawson's work on Naked Objects. It allows us to rapidly develop flexible applications by focusing on the design of behaviorally complete objects in the business domain. By using a novel web application architecture, it allows direct manipulation of business objects by the user.

Programming music on-the-fly with Pharo

Domenico Cipriani a.k.a. Lucretio

The LiveCoding Package has been designed to allow music programming on-the-fly in Pharo. Inspired by principle of economy, iconicity, and polysemy and integrating Godfried T. Toussaint research on the geometry of musical rhythm of the world, the LiveCoding Package takes advantage of Pharo processes, inheritances and easeness to create new classes and methods.

Pheps

Esteban Lorenzano

PhEP stands for "Pharo Enhancement Proposal", and they are intended to handle what will be part of Pharo in the future, giving the community a better approach to participate to the making of Pharo.

Hands-on: Branding Desktop Apps for Windows and OSX

Pablo Tesone / Guillermo Polito

In this talk we will show you how to customize the Pharo Virtual Machine build to brand it for your desktop application with concerns such as icons and resources. We will show you have Pharo images can be embedded and hidden inside the executable, and be made read only.

Pharo-AI, Machine Learning and AI using Pharo

Sebastian Jordan Montaño

In this talk, we will show you how to use the different machine learning, data analysis, data preprocessing, data mining, graphs, and more libraries that we currently have in Pharo-AI. We will explain the advantages of using machine learning in Pharo. And we will do live coding and exercises. All of this will come along with the first release of our AI framework!

Hands-on: Building minimal images with spec 2 and Gtk

Esteban Lorenzano

Deliver applications made in Pharo does not needs to ship all the development environment with it. We will present our advancements in Pharo modularisation that allows the packaging of *minimal* deliverable artifacts.

"Dissemination of rhythmical code" - An audiovisual performance for Pharo, Kyma and Jitter

Domenico Cipriani a.k.a. Lucretio

The LiveCoding Package has been designed to allow music programming on-the-fly in Pharo. Inspired by principle of economy, iconicity, and polysemy and integrating Godfried T. Toussaint research on the geometry of musical rhythm of the world, the LiveCoding Package takes advantage of Pharo processes, inheritances and easeness to create new classes and methods.

Spec2 / Newtools

Esteban Lorenzano

Spec2 has already a path behind it, but is just with Pharo 10 that its use has been pervasive to the environment, replacing almost all tools of the IDE.
What's new, what's the same, what changes? We will make a quick tour about the framework and its usages.

How to customise Pharo tools? Extending Pharo with a visualisation

Milton Mamani Torres

Roassal3 is a Pharo library for plotting that generates production quality graphs. Roassal3 is designed to be able to create simple and complex graphs with a few lines of code. This talk will cover the step from creating a simple graph to a complex one.

Method Trackers and their diagrams

Massimo Nocentini

Method trackers belong to instrumentation and profiling techniques, along with metalinks, collectors and proxies already present in the Pharo environment. We present our implementation that reifies a tree of contexts according to the computation under investigation. A Spec presenter has been composed to show such a tree, in pair with a new Roassal visualisation to show the corresponding sequence (or interaction) diagram.

APart Form Editor

Pavel Krivanek

In this talk, I will present APart Form Editor, a simple visual tool to design or alter existing application forms. I will show how it can cooperate with Magritte Metamodel and generate forms that do not want to use APart framework framework but plain Spec.

Configurable Roassal layouts for business applications

Richard Uttner

Among our work to replace an existing document management system for building industry, displaying a project hierarchy of editable documents in folders is the base for our most important use cases. In our presentation, we will show some examples and give a short overview of the design we implemented above of the Roassal layer to be configurable and fast.

PharoJS client-server applications development

Noury Bouraqadi

Lastest work of the PharoJS team addresses web applications with client-server communications. We present solutions that we have implemented, and how we have used them in a real world setting.
Lastest work of the PharoJS team addresses web applications with client-server communications. We present solutions that we have implemented, and how we have used them in a real world setting.

Using Pharo launcher from command line

David Bajger

So far, Pharo launcher is the GUI application used interactively by Pharo users. With the upcoming Pharo launcher, you can programmatically control your Pharo images (create, list them, launch, delete them) using command line. Imagine, you can create and launch development image from GitHub pull request by invoking simple command.

The debugger: tools and infrastructure

Steven Costiou

In this talk we will see the debugger status, its advanced tools such as object-centric debugging, its infrastructure and how it can be extended both to customize the default debugger with plugins and to add your own debugger to the system.