[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Internal defines
How is the specification for transformation of internal DEFINEs
changed if a DEFINE-SYNTAX is done (before any DEFINEs are done)?
The *specification* is unchanged.
OK. So this means that
(define-syntax define ...)
(let () (define a 4) a)
will return 4.
Now what about the interaction of BEGIN and DEFINE?
(define-syntax define ...)
(define-syntax begin ...)
(let () (begin (define a 4) (define b 5)) (+ a b))
The transformation of BEGIN here cannot accomplished by a macro
definition of BEGIN because it affects surrounding clauses. Must BEGIN
be a keyword of any syntax definition with a body?