[racket-dev] RFC: "provide" via mutation
On Mon, Jun 21, 2010 at 3:58 PM, Matthias Felleisen
<matthias at 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
samth at ccs.neu.edu