[plt-scheme] Why Modules?
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