On Sun, Sep 11, 2011 at 1:44 PM, Jeremy Kun <[email protected]> wrote: > Is there an existing Racket analogue for the "define-type" language form > from the PLAI text? Is there a quick way for me to just (require-syntax > define-type) so I can use it in my otherwise purely-Racket programs? Or > perhaps, is there a way for me to look at the original syntax definitions so > I can puzzle over how it's done?
Yes, see the docs here: http://docs.racket-lang.org/plai/plai-scheme.html#%28part._define-type%29 #lang racket (require plai) (define-type N [Zero] [Succ (n N?)]) (Succ (Succ (Zero))) Here's the source: https://github.com/plt/racket/blob/master/collects/plai/datatype.rkt#L61 [snip] > On another note, is there a nice way for me to print out the literal > expansion performed by define-syntax? You really want to use the Macro Stepper. -- sam th [email protected] _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

