Subject: Re: Finding the arity of a function
From: Erik Naggum <erik@naggum.net>
Date: Tue, 18 Sep 2001 15:47:24 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3209816844401584@naggum.net>
* Mathew Sanders
> Does anyone know of a function in lisp that given another function
> returns the arity?
The arity of a function in Common Lisp is given by two values, not just
one, the lower bound being the number of required arguments and an upper
bound being the number of additional &optional arguments, and finally,
may not be bounded except by sysetm limits on the number of &rest or &key
arguments. The various implementations have different ways to access
this information, which is usually kept in some other place in addition
to the code that checks for the correct number of arguments.
I think LWW's choice of name for the accessor, function-lambda-list, is
good, so this function will give you the same function portably bewteen
LWW and Allegro CL:
#+allegro
(defun function-lambda-list (function)
(excl:arglist function))
Usually, the function describe will tell you about argument lists and
other useful stuff, and in the free Common Lisp implementations, you can
find out how they do that by looking at the source.
///