[Этот второй ответ представляет собой схему того, как может выглядеть «Теория категорий 2.0», которая правильно работает с функциями высшего порядка.]
Мы давно знаем, как обращаться с функциями высшего порядка, рассуждая о них.
Когда алгебраическая структура имеет операции высшего порядка, гомоморфизмы не работают. Вместо этого мы должны использовать логические отношения . Другими словами, мы должны перейти от « структуры, сохраняющей функции », к « структуре, сохраняющей отношения ».
Если говорить о «единообразных» или «одновременно заданных» преобразованиях типов высшего порядка, естественность не работает. Вместо этого мы должны использовать реляционную параметричность . Другими словами, мы должны перейти от «семей, сохраняющих все морфизмы » к «семьям, сохраняющим все логические отношения ».
→
Краткое введение в эти вопросы содержится в разделе Питера О'Хирна «Реляционная параметричность» в « Домены и денотационная семантика: история, достижения и открытые проблемы» (CiteSeerX) .
Я мог бы также добавить, что рассуждения о состоянии - это то, где функции высшего порядка проявляются заметно. Теоретики автоматов были первыми, кто признал, что гомоморфизмы работают неправильно, в исторической статье под названием « Продукты автоматов и проблема покрытия» . Они использовали такие термины, как «слабые гомоморфизмы» и «охватывающие отношения» для обозначения логических отношений. Со временем такие термины, как «симуляция» и «бисимуляция», использовались для обозначения их. Обзорная статья Давиде Сангиорги: « О происхождении бисимуляции и коиндукции» охватывает всю эту раннюю историю и многое другое.
Необходимость реляционных рассуждений постоянно возникает в рассуждениях о состоянии, в частности, в императивном программировании . Мало кто замечает, что скромная точка с запятой - это операция высшего порядка. Таким образом, вы не можете начать думать об императивных программах, не зная, как обращаться с функциями более высокого порядка. Мы продолжаем игнорировать вопросы государственного и императивного программирования, ошибочно полагая, что у математики есть ответы на все вопросы. Так что, если математики не понимают государство, это не должно быть хорошо! Нет ничего более далекого от правды. Государство находится в центре компьютерных наук. Мы будем продвигать науку в целом, показывая людям, как бороться с государством!