Sujet de Master
Flexible Modules for Dynamic Languages
Equipe et contacts: Equipe RMoD - INRIA Lille Nord Europe
- S. Ducasse (DR), stephane.ducasse@inria.fr
- M. Denker (CR2), marcus.denker@gmail.com
- D. Pollet, damien.Pollet@inria.fr
Keywords: OOP, dynamic language, modules
Context : Typically a package declares the other packages it uses. While this is the normal way to think about packages, there are alternatives approaches as the one of Units in DrScheme [Unit] and now Newspeak developed by Gilad Bracha (who was responsible of the Java specification during more than 10 years). In addition, Java new version will integrate a visibility mechanism to packages with a notion of modules. We distinguish modules from packages in the sense that a package does not automatically includes a visibility mechanism (often implemented as a namespace). Subsystem was a proposal to design a somehow traditional module system for Smalltalk [Subsystem]. Bergel et al offer an overview of advanced module system but do not propose a concrete, scalable module system for a powerful dynamically typed language.
Subject : The topic of this master is to study existing package systems as well as module systems and to experiment with two alternate design decisions. A possible roadmap is to build two modules on top of Pharo. One module system can be inspired by the subsystem proposal and extend the implementation of Namespace developed by Andreas Raab. The alternative approach is after studying Units and Newspeak to implement a binding module one. The two approaches should be compared using a small but representative examples to stress the benefits and limits of each approaches.
Team and others : Equipe RMoD – INRIA Lille Nord Europe. The internship will be financed and we may have possibility for a PhD.
References
[Unit] Matthew Flatt and Matthias Felleisen. Units: Cool modules for hot languages. In Proceedings of PLDI ’98 Conference on Programming Language Design and Implementation, pages 236–248. ACM Press, 1998.
[Berg05] Alexandre Bergel, Stéphane Ducasse and Oscar Nierstrasz, Analyzing Module Diversity, In Journal of Universal Computer Science, November, Volume 11, pp. 1613-1644, 2005, SCI impact factor 0.337
[for] The Fortress language specification. http://research.sun.com/projects/plrg/fortress0866.pdf.
[Subsystem] Allen Wirfs-Brock, Subsystems --- Proposal, OOPSLA 1996 Extending Smalltalk Workshop, 1996.