On Nov 9, 2:56 pm, marcomaggi <[EMAIL PROTECTED]> wrote:
> which I do not fully understand but seems to work.

Correction, while this works:

(check
 (let ()
   (define-macro (proof a . args)
     (begin
       `(,a ,(+ 1 (car args)) ,(cadr args))))
   (proof list 123 'three))
 => '(124 three))

this fails:

(check
 (let ()
   (define (slurp arg)
     arg)
   (define-macro (proof a . args)
     (slurp
       `(,a ,(+ 1 (car args)) ,(cadr args))))
   (proof list 123 'three))
 => '(124 three))

with:

Unhandled exception:
 Condition components:
   1. &who: slurp
   2. &message: "identifier out of context"
   3. &syntax:
       form: slurp
       subform: #f

Reply via email to