Вычислительные конструкции (монады, стрелки и т. д.)

Меня заинтересовало, как моделируются вычисления в Haskell. Несколько ресурсов описывают монады как «составные вычисления», а стрелки — как «абстрактные представления вычислений». Я никогда не видел, чтобы моноиды, функторы или аппликативные функторы описывались таким образом. Кажется, что им не хватает необходимой структуры.

Я нахожу эту идею интересной и интересуюсь, есть ли другие конструкции, которые делают что-то подобное. Если да, то какие ресурсы я могу использовать для ознакомления с ними? Есть ли какие-нибудь пакеты на Hackage, которые могут пригодиться?

Примечание:Этот вопрос похож на Монады против стрелоки https://stackoverflow.com/questions/2395715/resources-for-learning-monads-functors-monoids-arrows-etc, но я ищу конструкции помимо функторов, аппликативных функторов, монад и стрелок.

Редактировать: Я признаю, что аппликативные функторы следует рассматривать как «вычислительные конструкции», но я действительно ищу то, с чем еще не сталкивался. Сюда входят аппликативные функторы, монады и стрелки.

17
задан Community 23 May 2017 в 12:19
поделиться