On Jul 12, 2011, at 10:16 AM, Eli Barzilay wrote:
> 8 minutes ago, Matthias Felleisen wrote: >> >> The following experiment produces a bit more insight: >> >>> (((eval (expand '(m y))) #t) #f) >> #t >> >> The result of expand compiles to the correct closure. >> >> So the docs for syntax->datum are dead serious when they say that it >> "returns a datum by stripping the lexical information, source >> location information, properties, and tamper status from stx." > > Try also the macro stepper. From an upcoming package for the repl: > > -> (define-syntax m > (syntax-rules () > ((_ x) > (lambda (x) (lambda (y) x))))) > -> ,stx (m y) * > syntax set > stepper: > Macro transformation > (m y) > ==> > (lambda:1 (y) (lambda:1 (y:1) y)) > > (But you'd usually want to use the gui version...) Fire up drracket and run the stepper. _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users