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.