Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions 2026-Conference/talks/2026-modularStories.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
! Modularity by Construction

Guillermo Polito (guillermo.polito@inria.fr)

""Abstract:""

Pharo has grown organically over the years and as it evolved, dependencies between projects were not always clearly defined.
For example, parts of the compiler infrastructure ended up depending on Morphic.
The interactive nature of the environment also allows developers to compile incorrect code, including e.g., code with undeclared variables.
This is convenient during development, but it can make validation harder.

In this talk I'll also show how, at the same time, the ecosystem has improved a lot in this area.
Projects are now commonly managed with Metacello and explicit dependency declarations.
The bootstrap process runs on every commit since 2016 and started enforcing stricter compilation and project loading.
The CI process is also being updated to support more independent project testing.
Altogether, these changes make the system easier to maintain and open the door to better tooling, including tools that rely on consistent project naming conventions such as coverage analysis.


""Bio:""

Guille Polito is chargé de recherche at INRIA and the CRIStAL laboratory in the University of Lille, within the Evref team.
He formerly worked on industry on service-oriented and mobile applications before doing a PhD on computer science.
Guille's main research interests are compilers, modularity, tooling and automated testing.
Guille participates in the Pharo community since 2010 and is now board member.
His most noticeable contributions to the community are the Pharo Bootstrap process and Iceberg.
21 changes: 21 additions & 0 deletions 2026-Conference/talks/2026-modules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
! The Pharo Module System

Guillermo Polito (guillermo.polito@inria.fr)

""Abstract:""

The Pharo community has been asking for namespace support for years.
However, namespaces alone are not sufficient to address the needs of modern development.
In this talk we give a glimpse at the implementation of a modern module system that supports namespaces but also separate compilation and co-existance of multiple versions of the same library side-by side.
However, such an implementation does not come without challenges.
Traditional Smalltalk extension methods are global, creating unexpected dependencies, and making it difficult to isolate changes to a single module.
Moreover, maintaining backwards compatibility adds further constraints, as existing code must continue to function even as the module system evolves.
Finally, debugging and understanding code also becomes more complex, because names may have different meanings depending on the context in which they are used.

""Bio:""

Guille Polito is chargé de recherche at INRIA and the CRIStAL laboratory in the University of Lille, within the Evref team.
He formerly worked on industry on service-oriented and mobile applications before doing a PhD on computer science.
Guille's main research interests are compilers, modularity, tooling and automated testing.
Guille participates in the Pharo community since 2010 and is now board member.
His most noticeable contributions to the community are the Pharo Bootstrap process and Iceberg.
Loading