On Aug 25, 2007, at 8:41 AM, Keith Wright wrote: > On page 30, section 10, we have the example: > > (let () > (define-syntax foo > (lambda (e) > (let ([+ -]) (+ 1 2)))) > (define + 2) > (foo)) > > The second argument of |define-syntax| should > evaluate to a transformer (pg 31, 11.2.2). > A tranformer is...a procedure that must... > return a syntax object (lib pg 51, 12.3). > > The procedure in the example returns a number.
A number is a datum and every datum is a syntax object. Refer to r6rs-lib 12.2 for the definition of "syntax-object" and the distinction between a wrapped and an unwrapped one. The listed example is correct. Aziz,,, _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
