--- layout: default title: "Variants" parent: Composite ancestor: Funcons-beta --- [Funcons-beta] : [Variants.cbs] ----------------------------- ### Variants
[
Datatype variants
Funcon variant
Funcon variant-id
Funcon variant-value
]Meta-variables
T <: valuesDatatype
variants(T) ::= variant(_:identifiers, _:T)variants(T) is a pair formed from an identifier and
a value of type T.
Funcon
variant-id(_:variants(T)) : =>identifiers
Rule
variant-id(variant(I:identifiers, _:T)) ~> IFuncon
variant-value(_:variants(T)) : =>T
Rule
variant-value(variant(_:identifiers, V:T)) ~> V