Copenhagen Programming Language Seminar
ML modules support hierarchical namespace management, as well as both abstract and transparent type components, but they do not support recursive linking of separately compiled modules. Mixin modules support recursive linking of separately compiled modules, but they are not hierarchically composable and typically do not contain type components, abstract or otherwise. We synthesize the complementary advantages of these two mechanisms in a new, unified module system design called MixML. A MixML module is like an ML structure in which some of the components are specified but not defined. In other words, it unifies the ML structure and signature languages into one. MixML seamlessly integrates hierarchical composition, translucent data abstraction, and mixin-style recursive linking. The design of MixML is minimalist, emphasizing how superficially distinct features of the ML module system can be modeled as stylized uses of the same underlying constructs, with mixin composition playing a central role. Of particular note is the treatment of ML's "sealing" construct. Sealing and mixin composition are viewed as two sides of the same coin---opaque linking vs. transparent linking---with remarkably similar typing rules.
All are welcome.
The Copenhagen Programming Language Seminar (COPLAS) is a collaboration between DIKU, ITU, KVL and RUC.
COPLAS is sponsored by the FIRST Graduate School.
To receive information about COPLAS talks by email, send a message to firstname.lastname@example.org with the word 'subscribe' as subject or in the body.
For more information about COPLAS, see http://www.coplas.org