At Mon, 17 Dec 2012 15:51:38 -0500, Sam Tobin-Hochstadt wrote: > On Mon, Dec 17, 2012 at 3:27 PM, Robby Findler > <ro...@eecs.northwestern.edu> wrote: > > I've long thought something along these lines is a good idea, but perhaps > > what I think is a good idea isn't what Matthias and Sam think is the bad > > idea. > > > > I think that it makes sense for 'require' in typed-racket to look in a > > different place than 'require' in untyped racket looks so that one can write > > the same require spec (in both the docs and the code) and have two versions > > of the same library, one that is typed and one that isn't typed. Then, then > > library writer, if they choose, can decide who pays what for going (or not) > > across the boundary between typed and untyped. (Or maybe submodules would be > > better.) > > I think this is exactly what Eli was suggesting, and what I think is a bad > idea. > > > I think this is already happening in TR anyways, when I write > > > > (require racket/list) > > > > I don't get the same file being loaded when that is in a TR program as when > > it is in a R program. > > You get *exactly* the same file as in R. I think that (a) this is a > valuable invariant and (b) the mechanisms for violating this invariant > are all very worrying.
FWIW, our current module-loading infrastructure is better adapted to a search for `(submod typed racket/list)' in place of `racket/list', instead of `racket/list/typed'. That is, submodule paths are intended to play nicer with a search, and that intent is encoded in rules for layers of module and load handlers. (I don't know whether the search is a good idea.) _________________________ Racket Developers list: http://lists.racket-lang.org/dev