Subject: Re: lambda list question
From: (Rob Warnock)
Date: Mon, 24 Mar 2008 01:45:27 -0500
Newsgroups: comp.lang.lisp
Message-ID: <>
alien_guy <> wrote:
| wrote:
| > Is there any way to write the definition of TEST so that KEY-PAIRS does
| > not contain the keys X, Y and Z?  Without explicitly removing them in
| > the function body of course ;-)
| No.

The same answer, a little less tersely:  ;-} Specifiers for keyword parameters
    When keyword parameters are processed, the same arguments are
    processed that would be made into a list for a rest parameter.
    It is permitted to specify both &REST and &KEY. In this case the
    remaining arguments are used for both purposes; that is, all
    remaining arguments are made into a list for the rest parameter,
    and are also processed for the &KEY parameters.

Also note that <>
"3.4.1 Ordinary Lambda Lists" requires that &REST come immediately
*before* &KEY [if both are present], so you can't get around it by
trying to manipulate the order or content of "the remaining arguments".


Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607