On Thu, Mar 5, 2009 at 7:28 PM, Jim Ursetto <[email protected]> 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 _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
