3 ms·
I tried to figure out the history of algebraic data types for a little bibliographic section in my book (Book is https://scalawithcats.com/ https://scalawithcat
by noelwelsh 2y ago
I tried to figure out the history of algebraic data types for a little bibliographic section in my book (Book is https://scalawithcats.com/ https://scalawithcats.com/ Chapter 2 is algebraic data types. My history is much less thorough than the linked post!) I'm glad I seemed to have got it correct.
The evolution of programming language features is quite interesting. The first presentations of a concept often are very rough as people struggle to present an idea in terms of what is currently known. Even terminology can change a lot. E.g. generalized algebraic data types started out as, variously, indexed types, first-class phantom types, and more, before the current terminology was adopted. (Adoption by a reasonably widely used language, in this case Haskell, helps to fix terminology.) I wouldn't be surprised if the term indexed types comes back into vogue if future languages start taking codata more seriously.