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