[r6rs-discuss] typo on page 30

From: Abdulaziz Ghuloum <aghuloum>
Date: Sat, 25 Aug 2007 16:43:33 +0300

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,,,
Received on Sat Aug 25 2007 - 09:43:33 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC