Funcons-beta : Records.cbs | PRETTY | PDF
Records
[
Datatype records
Funcon record
Funcon record-map
Funcon record-select
]
Meta-variables
T <: values
Datatype
records(T) ::= record(_:maps(identifiers,T))
A value of type records(T)
contains a map from identifiers to values of
type T
.
Funcon
record-map(_:records(T)) : =>maps(identifiers,T)
Rule
record-map(record(M:maps(_,_))) ~> M
Funcon
record-select(R:records(T), I:identifiers) : =>T?
~> map-lookup(record-map(R), I)