История изменений
Исправление Miguel, (текущая версия) :
взаимно.
Как ты сам сказал, ты меня вполне понимаешь. Так что к чему это было?
я десять раз уже написал, к чему я пишу про аппликативные функторы
Оно от этого не стало относиться к делу.
Можешь ли ты внятно ответить, чем отличается Monad от Applicative и что оно вносит по сравнению с первым.
Да, разумеется. Monad - подкласс Applicative; строгий подкласс, ибо существуют инстансы второго, не являющиеся (и не могущие быть сделанными) инстансами класса Monad. Принципиальное отличие Monad от Applicative состоит в том, что первый, комбинируя функцию и её аргумент, позволяет сделать «эффекты» (в кавычках, чтобы не думать про IO) этой функции зависящими от значения аргумента. Applicative этого не позволяет.
Собственно, всё.
Исходная версия Miguel, :
Можешь ли ты внятно ответить, чем отличается Monad от Applicative и что оно вносит по сравнению с первым.
Да, разумеется. Monad - подкласс Applicative; строгий подкласс, ибо существуют инстансы второго, не являющиеся (и не могущие быть сделанными) инстансами класса Monad. Принципиальное отличие Monad от Applicative состоит в том, что первый, комбинируя функцию и её аргумент, позволяет сделать «эффекты» (в кавычках, чтобы не думать про IO) этой функции зависящими от значения аргумента. Applicative этого не позволяет.
Собственно, всё.