Re: [Chicken-users] Expanding ellipsis on lists of different length

2008-08-28 Thread felix winkelmann
On Wed, Aug 27, 2008 at 9:02 PM, Elf [EMAIL PROTECTED] wrote: i believe that this is an error in chicken. there are two ellipses in the pattern and only one in the output spec, so in both cases it should error with an invalid transformer spec notice. additionally, the 'a' isnt followed by

Re: [Chicken-users] Expanding ellipsis on lists of different length

2008-08-28 Thread Tobia Conforto
felix winkelmann wrote: alexpander accepts this form, but gives an error if the lists are of unequal length. I believe this is the correct behaviour. Chicken gives an error only when the first list is longer than the second, not when it's shorter. Elf wrote: the untest case is always

Re: [Chicken-users] Expanding ellipsis on lists of different length

2008-08-28 Thread Elf
On Thu, 28 Aug 2008, Tobia Conforto wrote: I believe it's only a matter of using a version of map that checks this condition: that all its arguments become '() at the same time. Maybe it would be useful to modify map itself in this way? ;; correct, this is an error (map list '(1 2 3) '(10

[Chicken-users] Expanding ellipsis on lists of different length

2008-08-27 Thread Tobia Conforto
(define-syntax test (syntax-rules () ((test (a ...) (b ...)) (quote ((a b) ...) What happens if one calls this macro on two lists of different lengths? According to various online tutorials, the expansion should abort with an error. In current hygienic Chicken the behaviour

Re: [Chicken-users] Expanding ellipsis on lists of different length

2008-08-27 Thread Elf
On Wed, 27 Aug 2008, Tobia Conforto wrote: (define-syntax test (syntax-rules () ((test (a ...) (b ...)) (quote ((a b) ...) What happens if one calls this macro on two lists of different lengths? According to various online tutorials, the expansion should abort with an error. In

Re: [Chicken-users] Expanding ellipsis on lists of different length

2008-08-27 Thread Tobia Conforto
Elf wrote: Tobia Conforto wrote: (define-syntax test (syntax-rules () ((test (a ...) (b ...)) (quote ((a b) ...) i believe that this is an error in chicken. there are two ellipses in the pattern and only one in the output spec, so in both cases it should error with an

Re: [Chicken-users] Expanding ellipsis on lists of different length

2008-08-27 Thread Elf
apparently its neither invalid nor valid. according to riastradh and others, if i understood correctly, such behaviour is not covered in r5rs at all, and some implementations do allow it , and some dont. the untest case is always valid, the test case is only valid when input is of the same