I wrote: > The <compiler-environment> would include a list of lexical variable > names (<var> ...), which must exactly correspond to the closure slots of > the `case-lambda', in order to implement `local-eval'. We _might_ also > need to include some information about how those variables are stored,
Sorry, this paragraph should have ended here. The following unfinished caveat should have been deleted: > e.g. a flag telling whether they are boxed. (Usually they will all be > boxed, but I was thinking about an edge case where the result of (the-environment) never escapes the local block, and thus a clever optimizer might be able to avoid boxing some of the lexicals. However, I later realized that this could only happen if the returned environment was never passed to `local-eval', in which case none of this matters anyway. Mark