Hi Kevin, PLAI is definitely written for self-study, but you shouldn't skip intermediate sections ;) In your case, you're missing the define-type for AE (section 1.2, page 6). define-type generates the constructors you're after.
-- Éric On Jan 18, 2011, at 11:17 AM, Kevin Taylor wrote: > All, > > I am working through PLAI for self-study. I've gotten to section 1.3, page 8. > There is an example of parsing code and some example output. Unfortunately, > clearly num, add, and sub need to be defined for the example code to run. > > ;; parse : sexp −→ AE ;; to convert s-expressions into AEs > (define (parse sexp) > (cond > [(number? sexp) (num sexp)] > [(list? sexp) > (case (first sexp) > [(+) (add (parse (second sexp)) > (parse (third sexp)))] > [(-) (sub (parse (second sexp)) > (parse (third sexp)))])])) > > Since it isn't mentioned in the book at all that num, add, and sub need to be > defined in order to run the example code, I am getting the impression that > this book was not intended for self-study. (Explaining that num, add, and sub > need to be defined and giving some hints as to how is something that an > instructor would likely cover.) Any thoughts on that before I get further > into the book? > > Also, are there any pointers that someone on the list can provide for this? > Either conceptual guidance or pointers to somewhere on the web where I can do > some prerequisite reading in order to get this parsing code working? > > I don't want to proceed until I have this example code running. > > Cheers and TIA, > > -- > Kevin > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/users _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users