Glossary

algebraic (data) type
A sum of products (akin to a discriminated union).
alpha
An app specific synonym for "algebraic" (more or less).
alpha base type
A relatively simple kind of algebraic type (the alpha typing "base case").
alpha data type
The app equivalent of a general algebraic type.
alpha forward type
A mutually recursive alpha type.
alpha type
An alpha base type, unit type, data type, or type type.
alpha type type
Like a mutually recursive typedef.
alpha unit type
A singleton sum nonrecursive alpha data type.
binding pattern
A pattern that corresponds with a C++ variable (unless it is a wildcard).
concrete data type
Behaves like a native type; see Coplien, "Advanced C++".
handle/body idiom
An interface/implementation separation device; see Coplien, "Advanced C++".
inductive pattern
A pattern that may have nested subpatterns.
injector (itor)
A generated class corresponding to a sum component.
null (zero) alpha object
A handle object with a zero body object reference (null pointer).
nullary ctor
A handle class default ctor that instantiates a body class object.
parametric alpha type
Has type parameters that translate to template parameters.
product (component)
A conjoint constituent of a sum component.
projector (ptor)
A generated product access declaration.
root class
A generated class corresponding to an alpha data type.
selector (stor)
A generated sum discrimination expression.
subject
An alpha-typed C++ expression as a match statement subjects element.
sum (component)
A disjoint constituent of an algebraic type.
unary ctor
A ctor that can accept a single argument when applied.
wildcard
A binding pattern of the form '_'.
zero pattern
A pattern of the form '0' for matching null subjects.


CONTENTS NEXT