Меня заинтересовало, как моделируются вычисления в Haskell. Несколько ресурсов описывают монады как «составные вычисления», а стрелки — как «абстрактные представления вычислений». Я никогда не видел, чтобы моноиды, функторы или аппликативные функторы описывались таким образом. Кажется, что им не хватает необходимой структуры.
Я нахожу эту идею интересной и интересуюсь, есть ли другие конструкции, которые делают что-то подобное. Если да, то какие ресурсы я могу использовать для ознакомления с ними? Есть ли какие-нибудь пакеты на Hackage, которые могут пригодиться?
Примечание:Этот вопрос похож на Монады против стрелоки https://stackoverflow.com/questions/2395715/resources-for-learning-monads-functors-monoids-arrows-etc, но я ищу конструкции помимо функторов, аппликативных функторов, монад и стрелок.
Редактировать: Я признаю, что аппликативные функторы следует рассматривать как «вычислительные конструкции», но я действительно ищу то, с чем еще не сталкивался. Сюда входят аппликативные функторы, монады и стрелки.