[racket-dev] A basic package system

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Wed Jul 27 10:37:57 EDT 2011

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
<robby at 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.mccarthy at 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 <jay at 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 <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93



Posted on the dev mailing list.