- algebraic data type: a kind of composite type, i.e. a type formed by combining other types. Two common classes of algebraic type are:
- product types i.e. tuples
- records and sum types, also called tagged or disjoint unions or variant types
Algebraic" refers to the property that an Algebraic Data Type is created by "algebraic" operations. The "algebra" here is "sums" and "products":
- "sum" is alternation (A | B, meaning A or B but not both)
- "product" is combination (A B, meaning A and B together)