<div dir="ltr"><div dir="ltr">Also Have a look at work on algebraic specification e.g. CLEAR, and OBJ, CLU work by<div>Joseph Goguen, Rob Burstall, Jose Meseguer, Liskov and others. The former introduced the idea of</div><div>using initial algebras. I couldn't state offhand which came first, however there was quite a </div><div>bit of activity in the 70s that centered on using algebras and ideas from category theory for</div><div>specification and implementation. cf the ML module system.</div><div>Apologies to anyone whose name I've omitted, its been sometime since I walked in that space.</div><div><br></div><div><br></div><div>regards</div><div>David</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 7, 2020 at 9:46 PM Artem Pelenitsyn <<a href="mailto:a.pelenitsyn@gmail.com">a.pelenitsyn@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><div dir="auto">Hey Li-yao,</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">—</div><div dir="auto">Best, Artem</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 7, 2020 at 4:15 PM Li-yao Xia <<a href="mailto:lysxia@gmail.com" target="_blank">lysxia@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Dear Café,<br>
<br>
What makes "algebraic data types" algebraic? There are at least two <br>
common explanations in use:<br>
<br>
1. Algebraic data types are defined using sums and products of types, by <br>
analogy with, well, concepts from algebra.<br>
<br>
2. Algebraic data types are initial algebras.<br>
<br>
There are numerous blogs online explaining "algebraic data types" that <br>
way, with a large majority adopting the more approachable explanation (1).<br>
<br>
The question is, how did the appellation "algebraic" come about <br>
historically? Did it start with one or both of the meanings above?<br>
<br>
The language feature, independently of the name, seems attributed to the <br>
HOPE language[1] (see for instance A History of Haskell: Being Lazy with <br>
Class[2]). However, the paper introducing HOPE does not use the word <br>
"algebraic" anywhere. Other papers on the topic do not discuss the <br>
origins of the word. I am curious about citations regarding the history <br>
of the name "algebraic data types" itself.<br>
<br>
Regards,<br>
Li-yao<br>
<br>
[1]: <a href="http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.8135" rel="noreferrer" target="_blank">http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.8135</a><br>
[2]: <br>
<a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/history.pdf" rel="noreferrer" target="_blank">https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/history.pdf</a><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>David Duke</div><div>Emeritus Professor of Computer Science</div><div>School of Computing University of Leeds UK</div><div><a href="mailto:E%3Aduke.j.david@gmail.com" target="_blank">E:duke.j.david@gmail.com</a></div><div>W:<a href="https://engineering.leeds.ac.uk/staff/334/Professor_David_Duke" target="_blank">https://engineering.leeds.ac.uk/staff/334/Professor_David_Duke</a></div></div></div></div></div></div></div></div></div></div>