Разница между монадами и стрелками в функциональном программировании заключается в их назначении и использовании:
- Монады определяют способ передавать результат от одного вычисления к другому и реализуют стандартный интерфейс. {6-host} Они упрощают структуру программы и улучшают разделение проблем за счёт абстракции. en.wikipedia.org Например, с их помощью изолируют побочные эффекты, такие как ввод-вывод или изменяемое состояние, в чисто функциональном коде. en.wikipedia.org
- Стрелки представляют соединения между типами в функциональном программировании. henrychern.wordpress.com Стрелка имеет один тип в качестве источника и один тип в качестве цели. henrychern.wordpress.com Например, стрелка между типами называется функцией, а между объектами — морфизмом. henrychern.wordpress.com
Таким образом, монады используются для общих вычислительных эффектов, а стрелки — для моделирования структур потоков и преобразований над ними. stackoverflow.com