Where is the definition of lambda-list-like type specifiers? I do not
recall seeing it in the CLHS.
On Wednesday, Apr 30, 2003, at 16:02 America/New_York, Gerd Moellmann
> Christophe Rhodes <csr21@...> writes:
>> Absent any feedback on cmucl-imp, I would like to commit the following
>> patch. However, there is a regression in the test suite:
>> (assert (subtypep '(function) '(function (&optional * &rest t))))
>> I think the intent of this is that (FUNCTION (&OPTIONAL * &REST T)) is
>> equivalent to the universal function type.
> With some handwaving, I think one could get from
> The type specifier provided with &rest is the type of each actual
> not the type of the corresponding variable.
> in System Class FUNCTION to
> (FUNCTION (&OPTIONAL * &REST T)) = (FUNCTION (&REST T))
> Is (&REST T) in some way distinguishable from *?
>> I'm not sure, though, and before committing anything I'd like to
>> understand this. If this is equivalent to the universal function
>> type (FUNCTION * *), is (FUNCTION (&OPTIONAL * * &REST T)) likewise
>> equivalent? Is there an equivalent degree of freedom in the VALUES
>> type axis? Is (FUNCTION * (VALUES (&OPTIONAL * &REST T)))
>> equivalent to (FUNCTION * *)?
> It seems if one settles on an interpretation, the VALUES part should
> follow from
> The &optional and &rest markers can appear in the value-type list;
> they indicate the parameter list of a function that, when given to
> multiple-value-call along with the values, would correctly receive
> those values.
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> Sbcl-devel mailing list
NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488
715 Broadway 10th FL fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.