hyln9 / ikarus

Optimizing incremental native-code compiler for R6RS scheme. This is a forked repository.
https://launchpad.net/ikarus
Other
5 stars 0 forks source link

expansion of SYNTAX holding a list in fender should be a list of syntax objects when at least one element is a pattern variable #271

Open hyln9 opened 10 years ago

hyln9 commented 10 years ago

Run the program:

(import (rnrs))

(define-syntax doit (lambda (stx) (syntax-case stx () ((_ a b c) (for-all identifier? (syntax (a b c)))

'(begin 'yes))

  (_
   #'(begin 'no)))))

(write (doit x y z))(newline) (write (doit x 2 z))(newline)

it should print:

yes no

instead it fails with:

Unhandled exception: Condition components:

  1. &assertion
  2. &who: for-all
  3. &message: "not a proper list"
  4. &irritants: ((#<syntax x [char 224 of /home/marco/var/tmp/proof.sps]> #<syntax y [char 226 of /home/marco/var/tmp/proof.sps]> #<syntax z [char 228 of /home/marco/var/tmp/proof.sps]> . #<syntax ()>))

Launchpad Details: #LP569148 Marco Maggi - 2010-04-23 14:50:01 -0400