Hey Li-yao,

This sort of questions is really popular in the TYPES mailing list: you might want to ask there, e.g. if nothing comes up here.

Best, Artem

On Fri, Aug 7, 2020 at 4:15 PM Li-yao Xia <lysxia@gmail.com> wrote:
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
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.