[Openmcl-devel] Type declaration question

Tobias C. Rittweiler tcr at freebits.de
Tue May 26 23:14:04 PDT 2009


Nikodemus Siivola <nikodemus at random-state.net> writes:

> 2009/5/26 Dan Weinreb <dlw at itasoftware.com>:
>
>> However, in the Hyperspec (under the section on Declaration TYPE,
>> i.e., Body/d_type.htm), it is explicitly stated (in Notes) that
>> "(typespec var*) is an abbreviation for (type typespec var*)".
>>
>> Indeed, it does, and that's inconsistent with section 3.3.2, so we have
>> a problem.
>
> FWIW, SBCL currently always accepts the "typespec var*" version, but
> that interpretation is not particularly religiously held.
>
> Certainly restricting "typespec var*" to standardized non-compound
> type specifiers makes it considerably easier to write source
> transformations in the absence of portable environment access. Not
> that that has to be a concern, but...

FWIW, parse-declarations accepts compound typespecs as declaration
identifiers, and will even normalize them.

Because of the vagueness in CLHS, the library comes with its own
glossary which specifies ``declaration identifier'' to be the CAR of a
declaration specifier, be it symbol or cons.

  -T.

PS.

http://common-lisp.net/project/parse-declarations/manual/html_node/Glossary.html




More information about the Openmcl-devel mailing list