User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cl:types:values [2017/05/01 21:00] (current)
Line 1: Line 1:
 +====== Type Specifier VALUES ======
 +
 +====Compound Type Specifier Kind====
 +Specializing.
 +
 +====Compound Type Specifier Syntax====
 +**values** //​value-typespec//​
 +
 +<​blockquote>​
 +value-typespec ::= typespec''​*''​ [''&​optional''​ typespec''​*''​] [''&​rest''​ typespec] ['&​allow-other-keys''​]
 +</​blockquote>​
 +
 +====Compound Type Specifier Arguments====
 +//​typespec//​ - a //​[[CL:​Glossary:​type specifier]]//​.
 +
 +====Compound Type Specifier Description====
 +This //​[[CL:​Glossary:​type specifier]]//​ can be used only as the //​value-type//​ in a **[[CL:​Types:​function]]** //​[[CL:​Glossary:​type specifier]]//​ or a **[[CL:​Special Operators:​the]]** //​[[CL:​Glossary:​special form]]//. It is used to specify individual //​[[CL:​Glossary:​types]]//​ when //​[[CL:​Glossary:​multiple values]]// are involved. The ''&​optional''​ and ''&​rest''​ markers can appear in the //​value-type//​ list; they indicate the parameter list of a //​[[CL:​Glossary:​function]]//​ that, when given to **[[CL:​Special Operators:​multiple-value-call]]** along with the values, would correctly receive those values.
 +
 +The symbol **[[CL:​Types:​wildcard|*]]** may not be among the //​value-types//​.
 +
 +The symbol **values** is not valid as a //​[[CL:​Glossary:​type specifier]]//;​ and, specifically,​ it is not an abbreviation for ''​(values)''​.
 +
 +\issue{TYPE-SPECIFIER-ABBREVIATION:​X3J13-JUN90-GUESS}