* is a separator for function input and output types separated by ->.
(The symbol * is also used in expressions for multiplication.)
Syntax
(⟨type-a⟩ * ⟨type-b⟩ * ... -> ⟨result-a⟩ * ⟨result-b⟩ * ...)
(lisp (-> ⟨type-a⟩ * ⟨type-b⟩ ...) ...)
Semantics
- On the left of
->,*separates positional input types. - On the right of
->,*separates multiple return values. - In a
lispform, it denotes that Lisp will return multiple values.
Example
(declare sum-and-product (Integer * Integer -> Integer * Integer))