Hi, all.

As part of a DSL, I want to provide a shortcut to define a thing from inside an 
expression. For a minimal example, instead of writing

    (define a 1)
    (+ 2 a)

I can write this:

    (+ 2 (lift-define a 1))

To implement this, I see the most direct way is to use 
syntax-local-lift-module-end-declaration, except it imposes some restrictions 
to forbid such use: "If the current expression being transformed is in phase 
level 0 and not in the module top-level, then stx is eventually expanded in an 
expression context.”

Is there any reason for this restriction?

Alternatively, I can use syntax-local-lift-module or wrap #%module-begin, but 
both are unsatisfactory for my use case.


Yucheng Zhang

You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to