[Colloquium] Dreyer talk t oday 12:30 at TTI
Meridel Trimble
mtrimble at tti-c.org
Thu Apr 15 08:35:43 CDT 2004
TOYOTA TECHNOLOGICAL INSTITUTE TALK
Derek Dreyer
Carnegie Mellon University
Speakers Homepage: http://www-2.cs.cmu.edu/~dreyer/
Time: Thursday, April 15th 2004, 12:30 p.m.
Place: Toyota Technological Institute (1427 E. 60th St. - 2nd Floor)
*LUNCH PROVIDED*
Title: Evolving the ML Module System
Abstract:
Modularity is a concept of fundamental importance to the design of reliable,
maintainable software. While most modern programming languages provide some
support for modular development, the ML module system is a high-water mark,
delivering both strong guarantees of data abstraction (via the "sealing"
mechanism) and a flexible form of code reuse (via the "functor" mechanism).
There is still room, though, for it to evolve. In particular, one significant
limitation of the ML module system, which is not shared by the modularity
mechanisms in other languages, is the lack of support for recursion across
module boundaries.
Evolving the ML module system is challenging, however, because there are a
number of different dialects and formal accounts of it, and the relationships
and tradeoffs among them are unclear. Perhaps as a result, the ML module system
is often perceived by programming language researchers as being complex and
difficult to work with formally.
In this talk I will describe a unifying account of ML modules (developed
together with Karl Crary and Robert Harper), in which different variants of the
ML module system can be understood as subsystems of ours that pick and choose
different features. I will explain the key ideas of our account at a high level,
without assuming any prior knowledge of ML. I will also discuss how our approach
isolates the primary complexity of ML modules in a pre-existing type system --
Stone and Harper's "singleton kinds" -- that we can use off the shelf. Lastly, I
will describe some of the difficulties in extending ML with recursive modules,
along with the approach we have taken to address them.
If you have questions, or would like to meet the speaker, please contact Meridel
at 4-9873 or mtrimble at tti-c.org
For information on future TTI-C talks or events, please go to the TTI-C Events
page: http://www.tti-c.org/events.shtml
_______________________________________________
More information about the Colloquium
mailing list