Link Search Menu Expand Document

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)