They have more similarities than your message suggests I believe. And it is probably worth exploring that. As far as I can see a facet/modulet has less stuff than a package and possibly a different story vis a vis files in the filesystem.
Robby On Wednesday, July 27, 2011, Jay McCarthy <jay.mccar...@gmail.com> wrote: > I don't see them as overlapping, but you may understand them different > than I do. > > The way I see modules/facets is that 'racket/list.rkt' will have a > 'default' facet and a 'testing' facet and a 'documentation' facet, so > that each use can be syntactically close but separately loadable. > > The way I see packages is that they allow indirection of module paths, > so that inside 'a.rkt', 'racket/list' can refer to something other > than the usual thing because of what package it is inside. Packages > also allow module privacy in a way we don't provide now, because some > modules may not be provided from the package, even though they are > inside it. > > So... do you think those two understandings overlap? Or do you > understand them differently? > > Jay > > On Wed, Jul 27, 2011 at 7:52 AM, Robby Findler > <ro...@eecs.northwestern.edu> wrote: >> Bullet point 2 seems like it may overlap (in a practical, "what do I >> use today" sort of a way) with Matthew's modulelet construct. Both >> group modules together, both provide independently loadable things. >> >> Do we really want/need both of these? >> >> Robby >> >> On Tue, Jul 26, 2011 at 5:49 PM, Jay McCarthy <jay.mccar...@gmail.com> wrote: >>> Eli and I had a very useful conversation last night and we realized >>> that a lot of the ideal package system we are imagining is within our >>> reach very quickly. Today I made a demonstration of our ideas: >>> >>> https://github.com/jeapostrophe/exp/tree/master/pkgs >>> >>> There's a README there. Once you read it, >>> >>> Run use/program.rkt >>> >>> Then edit use/pkg-in.rkt and change the "safe" to "unsafe" >>> >>> You'll see that it changes the meaning of racket/listy module >>> reference in use/program.rkt >>> >>> I haven't implemented the module algebra, but it should be clear from >>> looking at the macro implementations that the existing identifier >>> algebra in require/provide will work transparently. >>> >>> Jay >>> >>> -- >>> Jay McCarthy <j...@cs.byu.edu> >>> Assistant Professor / Brigham Young University >>> http://faculty.cs.byu.edu/~jay >>> >>> "The glory of God is Intelligence" - D&C 93 >>> _________________________________________________ >>> For list-related administrative tasks: >>> http://lists.racket-lang.org/listinfo/dev >>> >> > > > > -- > Jay McCarthy <j...@cs.byu.edu> > Assistant Professor / Brigham Young University > http://faculty.cs.byu.edu/~jay > > "The glory of God is Intelligence" - D&C 93 > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/dev
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev