Next: overview typed vars, Previous: overview enabling, Up: overview [Contents][Index]
A type identifier is a bound syntactic identifier whose syntactic binding’s descriptor contains informations about the type’s properties. Examples of type identifiers are:
define-struct; they are
automatically made type identifiers by Vicare.
define-record-type; they
are automatically made type identifiers by Vicare. Condition
object types (like &i/o) are special cases of these.
(vicare) exports a set type identifiers (whose
implementation is integrated in Vicare’s expander) representing
the types of built–in objects. Some of them are: <fixnum>,
<string>, <vector>, <textual-input-port>.
Built-in object types.
Type identifiers are organised in a tree hierarchy, with subtypes
inheriting properties of supertypes; by convention, <top> is the
parent of all the type annotations, the root of the tree; <top>
has no parent.
Many predefined type identifiers have names enclosed in “angular parentheses” ‘< >’, but this is just a convention. Any valid Scheme symbol can be used as name for a type identifier.