[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