[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Chicken 4 syntax-rules bug
From: |
felix winkelmann |
Subject: |
Re: [Chicken-users] Chicken 4 syntax-rules bug |
Date: |
Sun, 8 Mar 2009 02:13:39 +0100 |
On Thu, Mar 5, 2009 at 7:28 PM, Jim Ursetto <address@hidden> wrote:
> I believe this is a bug in Chicken 4. It works in Chicken 3 with the
> syntax-case egg, and in Scheme 48. It looks like an ellipsis form
> matches after just checking the first pattern, without checking
> subsequent patterns.
>
> (define-syntax foo
> (syntax-rules () ((_ (a b) ...)
> (list '(a b) ...))
> ((_ a ...)
> (list '(a) ...))))
>
> Chicken 4, native syntax-rules
>
> #;2> (foo (1 2) (3 4) (5 6))
> ((1 2) (3 4) (5 6))
> #;3> (foo (1 2) (3) (5 6))
> Error: (car) during expansion of (foo ...) - bad argument type: ()
>
> Chicken 3 w/ syntax-case egg, and Scheme 48:
>
> #;2> (foo (1 2) (3 4) (5 6))
> ((1 2) (3 4) (5 6))
> #;3> (foo (1 2) (3) (5 6))
> (((1 2)) ((3)) ((5 6)))
>
Please try again with svn rev. 13582.
cheers,
felix