--- 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 <: values
Datatype
  variants(T) ::= variant(_:identifiers, _:T)
A value of type 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)) ~> I
Funcon
  variant-value(_:variants(T)) : =>T
Rule
  variant-value(variant(_:identifiers, V:T)) ~> V
____ From the [PLanCompS Project] | [CBS-beta issues...] | [Suggest an improvement...] [Variants.cbs]: Variants.cbs "CBS SOURCE FILE" [Funcons-beta]: /CBS-beta/docs/Funcons-beta "FUNCONS-BETA" [Unstable-Funcons-beta]: /CBS-beta/docs/Unstable-Funcons-beta "UNSTABLE-FUNCONS-BETA" [Languages-beta]: /CBS-beta/docs/Languages-beta "LANGUAGES-BETA" [Unstable-Languages-beta]: /CBS-beta/docs/Unstable-Languages-beta "UNSTABLE-LANGUAGES-BETA" [CBS-beta]: /CBS-beta "CBS-BETA" [PLanCompS Project]: https://plancomps.github.io "PROGRAMMING LANGUAGE COMPONENTS AND SPECIFICATIONS PROJECT HOME PAGE" [CBS-beta issues...]: https://github.com/plancomps/CBS-beta/issues "CBS-BETA ISSUE REPORTS ON GITHUB" [Suggest an improvement...]: mailto:plancomps@gmail.com?Subject=CBS-beta%20-%20comment&Body=Re%3A%20CBS-beta%20specification%20at%20Values/Composite/Variants/Variants.cbs%0A%0AComment/Query/Issue/Suggestion%3A%0A%0A%0ASignature%3A%0A "GENERATE AN EMAIL TEMPLATE"