On Thu, May 23, 2013 at 1:54 PM, Matthias Felleisen <matth...@ccs.neu.edu> wrote: > Can you raise the level of discourse one level and perhaps figure out whether > this is needed at all? I.e., find a different way to solve the problem? (What > is the real problem?)
This is important, and it's the second implementation of this feature. The previous one was substantially more painful, and involved local-expand and "dumpster-diving". The reason we need a tool like this is that the expansion of some macros (examples include `for`, `delay`, `quasiquote`, among others) have runtime support functions that are not exported. Typed Racket needs to specify the type of these operations. You can see these specifications here: https://github.com/plt/racket/blob/master/collects/typed-racket/base-env/base-special-env.rkt . That means that it needs to construct those identifiers, although it never needs to execute code with those identifiers. The previous implementation was much slower here, remarkably. Sam _________________________ Racket Developers list: http://lists.racket-lang.org/dev