Abdulaziz Ghuloum <aghuloum at cs.indiana.edu> writes:
> 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.
Whoops. Forgot about that. Will (un)fix. Thanks!
--
Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla
Received on Sat Aug 25 2007 - 10:22:45 UTC