[TYPES] Where does the name "algebraic data types" come from?

Li-yao Xia xialiyao at seas.upenn.edu
Fri Aug 7 17:00:01 EDT 2020


Dear TYPES,

What makes "algebraic data types" algebraic? There are at least two 
common explanations:

1. Algebraic data types are defined using sums and products of types, by 
analogy with concepts from algebra.

2. Algebraic data types are initial algebras.

Numerous blogs and papers explain "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 from a cursory search 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 Types-list mailing list