[CM] define* and :rest bug

Christos Vagias chris.actondev at gmail.com
Fri Jul 30 08:10:55 PDT 2021


My apologies!
After reading the docs again that's the expected functionality.
"the rest parameter, if any, takes up an argument slot just like any other
argument"

But still, I think it'd be a neat future to behave like I had assumed.

On Fri, 30 Jul 2021 at 16:55, Christos Vagias <chris.actondev at gmail.com>
wrote:

> Hi Bil,
>
> I think I've stumbled upon a bug in define*
>
> (define* (foo a b :rest rest (c #f) (d #f))
>   (format #f "a=~A b=~A c=~A d=~A rest=~A"
>  a b c d rest))
>
> (foo 1 2 3 4)
> returns "a=1 b=2 c=4 d=#f rest=(3 4)"
>
> but, in the returned string, c should be #f
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cm-mail.stanford.edu/pipermail/cmdist/attachments/20210730/f6516758/attachment.html>


More information about the Cmdist mailing list