[Next] [Previous] [Up] [Top] [Contents] [Index]
3.4 Special Types and Type Constructors
The type of a closure is described using the following syntax:
closure_type ::= "&" "(" [arg_types] ")" [type_decl]
(The syntax of arg_types
is specified along with signatures in section 3.3.4.)
A closure type of the form
&(t1,...,tN):tR
describes a closure whose eval
method has the signature:
signature eval(&(t1,...,tN):tR, t1, ..., tN):tR
Closure types are related by implicit subtyping rules that reflect standard contravariant subtyping: a closure type of the form &(t1,...,tN):tR
is a subtype of a closure type of the form &(s1,...,sN):sR
iff each ti is a supertype of the corresponding si and tR is a subtype of sR.
[Next] [Previous] [Up] [Top] [Contents] [Index]
Generated with Harlequin WebMaker