[plt-scheme] Why Modules?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Nov 21 10:41:52 EST 2008

On Nov 20, 2008, at 8:57 PM, Ittai Balaban wrote:

> I've been looking into units, specifically the '99 "Cool Units..."  
> paper. Apologies for reopening old threads, but I did not see this  
> answered:
> In many respects (syntax bindings not included), units provide a  
> much richer framework than modules - the latter cannot be assembled  
> compositionally, prohibit cyclic dependencies, and do not allow  
> multiple instantiations. Thus, my question is, since you make such  
> a convincing case for units in the '99 paper, why did PLT find it  
> necessary to introduce a new abstraction in the form of modules?  
> Did you run into some intrinsic limitations of units?
> This is interesting, btw, because in the so called mainstream world  
> of enterprise java, people are looking outside of the language to  
> unit-like frameworks like OSGi to get around the limitations shared  
> by Java packages and PLT modules.
> Thanks for any effort in helping me understand this.

1. Units, as proposed, were overkill for many tasks.

2. Shriram Krishnamurthi's dissertation generalized units to  
languages, appropriately dubbed unit/lang.

3. These unit/langs never made it beyond prototype stage and Matthew  
found a pragmatic way to do a lot with modules and syntax.

4. Ryan Culpepper et al provided a way to do some syntax with units  
back in 2005.

5. Scott Owens, supervised by Matthew, implemented a syntactically  
simpler unit system that provides a somewhat gentler learning curve,  
starting from modules, than our original system.

6. On some occasions, I dig out these units and use them but most of  
the time I get away with plain modules. We should at some point make  
an effort to tease this out in the docs.

-- Matthias

Posted on the users mailing list.