[racket] local-expand and stop-lists?

From: Danny Yoo (dyoo at cs.wpi.edu)
Date: Fri Aug 12 13:39:55 EDT 2011

On Fri, Aug 12, 2011 at 1:37 PM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> On Fri, Aug 12, 2011 at 1:25 PM, Danny Yoo <dyoo at cs.wpi.edu> wrote:
>>
>> In which the first three lines are coming from compile-time, and I see
>> that my lift-to-toplevel macro is firing off, even though I placed it
>> in the stop-list of local-expand.
>
> What's happening here is that the `#%module-begin' binding from
> `racket/base' calls `local-expand' on each of its forms, to determine
> whether its an expression or not.  This implements the printing of
> top-level expressions.  If you replace `#%module-begin' with
> `#%plain-module-begin', you should see the desired behavior.


Ha ha; that's tricky!  Thanks!  Can something about this be included
in the documentation of local-expand?



Posted on the users mailing list.