[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Check-keyword-arguments
Date: 12 May 88 0838 PDT
From: Dick Gabriel <RPG@SAIL.STANFORD.EDU>
Subject: Check-keyword-arguments
Here is another approach. I believe we need to have a procedural
definition of make-instance (and maybe other initialization-like
functions), and we need for them to be models for users to imitate.
Therefore, the error situation must be handled correctly in make-instance.
Because check-keyword-arguments is pretty ugly already, why not simply
make it do what it needs to do (and maybe some useful but not required
things too)?
So here's the new specification for check-keyword-arguments:
check-keyword-arguments keywords-or-keyword-plistp
keywords-or-keyword-plisp
generic-functions-and-arguments-or-methods
extra-allowed-keywords
&optional errorp-or-function
keywords-or-keyword-plistp:
I don't think we need to restrict this function to a plist of keywords and
values, as in an initarg list. A list of keywords is a useful argument
too. So the first argument tells which to expect as the second argument.
(I don't think this wrinkle is necessary, so we could drop it.)
keywords-or-keyword-plisp:
Either a list of keywords or a plist of keywords and values.
You could consider the the following instead:
check-keyword-arguments keywords-plist
keywords
generic-functions-and-arguments-or-methods
extra-allowed-keywords
&optional errorp-or-function
Keyword-plist is passed as a key value sequence,
keywords is a list of keywords.
This is more powerful since you are not constrained to one keyword format for one
call.
Patrick.