[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
Speaker’s 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