Перейти в канал

Tg: habr.com

1
Ранняя история алгебраических типов данных Откуда у «типов-произведений» (structs) и «типов-сумм» (tagged unions) вообще взялись эти «алгебраические» имена? Обычно говорят, что дело в мощности: число возможных значений (A, B) — это произведение, а A + B — сумма. Но что было первичным: это свойство или то, что они подчиняются законам алгебры, вроде дистрибутивности? Автор нырнул в кроличью нору истории, начав с Джона Маккарти (создателя LISP) и его статьи 1961 года. Оказывается, он описал и «декартово произведение», и его алгебраические свойства с самого начала, хотя сам термин появился лишь в 80-х. Проследим, как эти идеи кочевали через ALGOL, ML и HOPE.