Стандартная структура ML сродни алгебре . Его подпись описывает целый класс алгебр схожей формы.
F: M o n → G r pF: A b → R n g который добавляет мультипликативный моноид к абелевым группам для образования колец.
Большинство из этих идей были разработаны в серии статей Burstall и Goguen по разработке языка спецификаций, называемого CLEAR (ссылки c5 и c6 на странице DBLP .). В то время Дэвид Маккуин работал вместе с Burstall и Sannella и был глубоко знаком с ним. с вопросами. Стандартная модульная система ML основана на этих идеях.
Большинство людей задаются вопросом, а как насчет морфизмов? Теоретические категории функторы имеют часть объекта и часть морфизма. Стандартные функторы ML имеют то же самое? Ответ да, и нет.
- Часть ответа ДА применяется, если структуры первого порядка. Тогда существуют гомоморфизмы между различными структурами одной и той же сигнатуры, и стандартные функторы ML автоматически сопоставляют их с гомоморфизмами сигнатуры результата.
- НЕТ часть ответа применяется, когда структуры имеют операции более высокого порядка.
Означает ли это, что стандарт ML отклоняется от теории категорий? Я так не думаю. Я скорее думаю, что Standard ML делает правильные вещи, а теория категорий еще не наверстала упущенное. Теория категорий еще не знает, как обращаться с функциями более высокого порядка. Когда-нибудь, это будет.