This gives the expected output in other Schemes (tested racket, chicken,
guile, kawa) but in Bigloo (4.0b) shows:

*** ERROR:let:
No matching clause -- (hygiene.r5rs.mark1001let ((hygiene.r5rs.mark1001patt-
var (hygiene.r5rs.mark1001quote hygiene.r5rs.mark1001z))
hygiene.r5rs.mark1001...) (hygiene.r5rs.mark1001list
hygiene.r5rs.mark1001patt-var hygiene.r5rs.mark1001...))

Here is the program:

(define-syntax macro1
  (syntax-rules ()
    ((_ form) form)))

(macro1
 (define-syntax macro2
   (syntax-rules ()
     ((_ patt-var ...)
      (let ((patt-var 'z) ...)
        (list patt-var ...))))))

(display (macro2 a b c))  ;; Expected: (z z z)
(newline)

Regards,
-John

Reply via email to