Next: Set (accumulative), Previous: Map, Up: Types reference
A record over n features, where each of these features consists of a field field_i and a value term_i of type type_i (1<=i<=n). We call the set of fields of a record its arity.
For each field field_i in the arity of the record, its value is the top value of the corresponding type type_i.
For each field field_i in the arity of the record, its value is the bottom value of the corresponding type type_i.
Recursively, the greatest lower bound of two records A and B is the record where the value of each field field_i is the result of the greatest lower bound of the value at field_i in record A, and the value field_i in record B.
Notice that you can also use the greatest lower bound operation (conjunction) on the features in a record specification. The conjunction of two features field_1:term_1 and field_2:term_2 is defined as:
Here is an example record type definition with three fields in its
arity (field_1, field_2 and field_3). These have
types ref("type_1"), ref("type_2") and
ref("type_3"), respectively:
deftype "record" {field_1: ref("type_1")
field_2: ref("type_2")
field_3: ref("type_3")}