How is it that the definition of (struct my-name (x y)) can bind
*my-name*both as a #<procedure:my-name> at runtime and a
transformer-binding
*my-name* that at compile time (via syntax-local-value) produces
#<procedure:self-ctor-checked-struct-info>.?

Or, put another way, how can I define a transformer *my-fn* that produces
syntax, but that also exposes hidden meta-data under the same binding to
other macros that might wish to know about the binding at compile time?

I'm specifically wondering how the overloading works.  Is it some clever
use of prop:procedure?

Thanks.

-- 
Talk to you soon,

Scott Klarenbach

PointyHat Software Corp.
www.pointyhat.ca
p 604-568-4280
e sc...@pointyhat.ca
200-1575 W. Georgia
Vancouver, BC V6G2V3

_______________________________________
To iterate is human; to recur, divine
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to