Re: allow-other-keys Marc Feeley 29 Oct 2019 21:05 UTC

> On Oct 29, 2019, at 2:55 PM, John Cowan <xxxxxx@ccil.org> wrote:
>
> DSSSL does not and therefore Chicken doesn't either.  S7 doesn't, Gauche doesn't, Gambit doesn't.  Guile does.  I think that's enough for us to reject it.

Not quite for Gambit… it depends where you put the rest parameter:

Gambit v4.9.3

> (define (f a #!key (b 1) #!rest z) (list a b z))
> (f 1 2 3)
(1 1 (2 3))
> (f 1 b: 2 3)
(1 2 (3))
> (f 1 b: 2 c: 3)
*** ERROR IN (stdin)@4.1 -- Unknown keyword argument passed to procedure
(f 1 b: 2 c: 3)
1>
> (define (g a #!rest z #!key (b 1)) (list a b z))
> (g 1 2 3)
(1 1 (2 3))
> (g 1 b: 2 3)
(1 2 (b: 2 3))
> (g 1 b: 2 c: 3)
(1 2 (b: 2 c: 3))