Stupid me. REQUIRING is done by DEMAND (as in NEED). So the strange thing is that you gain access to a module local identifier via the store. I still sense something is wrong with the store phases.
On Jun 21, 2010, at 4:01 PM, Sam Tobin-Hochstadt wrote: > On Mon, Jun 21, 2010 at 3:58 PM, Matthias Felleisen > <matth...@ccs.neu.edu> wrote: >> >> I still don't understand how the #'x reference is actually exported from m >> to n. I understand the store part but why is the for-value require of 'm >> needed? If you remove it you get a type-checking error (add1 applied to >> False). > > If you don't have the `require' of 'm, then the box is never mutated > in the store of the expansion time of 'n, leaving it with the initial > value #f. The `begin-for-syntax' in 'm is what does the exporting, by > mutating the shared box. > -- > sam th > sa...@ccs.neu.edu _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev