At Mon, 30 Jul 2012 13:10:28 -0600, Matthew Flatt wrote: > > At Fri, 20 Jul 2012 16:33:54 -0400, Vincent St-Amour wrote: > > How about having a `compatibility' collect, which would include this and > > things like `racket/package' (compatibility with Chez) and `racket/mpair' > > (compatibility with Scheme)? It would be harder to confuse these things > > with blessed Racket features. > > Sorry that I'm so late to this thread. > > I think a "compatibility" collection is a good idea, and it's a fine > place for `defmacro'. I don't think `racket/...' libraries should move > there, though. > > When the next big language shift comes, we should leave out some > libraries that are now in "racket", and then it may make sense to add > some left-out ones to "compatibility". As long as they stick around in > "racket" though (for compatibility!), I think there's little advantage > in adding them to "compatibility".
The main advantage (IMO) of having, say, mutable lists in `compatibility' is that searching the docs points there instead of to `racket'. This makes it clear that they are not a blessed Racket feature. This is (IMO) the main point of the `compatibility' collect. > FWIW, the `package' form wasn't even intended for compatibility. It was > intended to support namespace management --- possibly as an expansion > target for macros --- and to work in contexts other than module top > levels. It hasn't turned out to be useful, though. Now that we have submodules, are packages still useful? If not, we should encourage the use of submodules over packages, and putting packages in `compatibility' makes it clear that they are not the preferred option. Vincent _________________________ Racket Developers list: http://lists.racket-lang.org/dev