diff --git a/2026-Conference/talks/2026-modularStories.md b/2026-Conference/talks/2026-modularStories.md new file mode 100644 index 00000000..cf8ee606 --- /dev/null +++ b/2026-Conference/talks/2026-modularStories.md @@ -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. diff --git a/2026-Conference/talks/2026-modules.md b/2026-Conference/talks/2026-modules.md new file mode 100644 index 00000000..b2761f9d --- /dev/null +++ b/2026-Conference/talks/2026-modules.md @@ -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.