On Wed, Jul 27, 2011 at 8:12 PM, Carl Eastlund <c...@ccs.neu.edu> wrote: > On Wed, Jul 27, 2011 at 11:32 AM, Eli Barzilay <e...@barzilay.org> wrote: >> 10 minutes ago, Robby Findler wrote: >>> 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. >> >> They're really unrelated -- the new thing with >> facets/modulets/whatever name they get is a kind of a separately >> loadable sub-module. What we were talking about is basically making >> the `foo' in (require foo) be an identifier that you could define to >> actually point to some random file. > > Would a binding for foo affect uses like foo/bar? And would this mean > going to a semantics for require specs where unbound identifiers have > one meaning, and bound identifiers have another? That leads to issues > with silent failures, where you try to refer to a binding but a typo > leads to the wrong require instead of a syntax error. Also, right now > I can do (define racket "Racket") and then (require racket) and it > works fine. If require starts looking at bindings, suddenly the > collection namespace becomes part of the normal Racket namespace.
I just want id-require-transformers. Right now we have require-transformers but there's no reason we couldn't/shouldn't have id macros too. (define racket "Racket") is not problem because it's a phase-0, non-require-transformer binding. Using these macros this way is just a nice way to implement the package system. It's not really a new feature (as my example shows... we already have it.) 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