[Haskell-cafe] Where does the name "Algebraic data types" come from?
Li-yao Xia
lysxia at gmail.com
Fri Aug 7 20:14:07 UTC 2020
Dear Café,
What makes "algebraic data types" algebraic? There are at least two
common explanations in use:
1. Algebraic data types are defined using sums and products of types, by
analogy with, well, concepts from algebra.
2. Algebraic data types are initial algebras.
There are numerous blogs online explaining "algebraic data types" that
way, with a large majority adopting the more approachable explanation (1).
The question is, how did the appellation "algebraic" come about
historically? Did it start with one or both of the meanings above?
The language feature, independently of the name, seems attributed to the
HOPE language[1] (see for instance A History of Haskell: Being Lazy with
Class[2]). However, the paper introducing HOPE does not use the word
"algebraic" anywhere. Other papers on the topic do not discuss the
origins of the word. I am curious about citations regarding the history
of the name "algebraic data types" itself.
Regards,
Li-yao
[1]: http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.8135
[2]:
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/history.pdf
More information about the Haskell-Cafe
mailing list