[Перевод] Функторы, аппликативные функторы и монады в картинках
Вот некое простое значение: И мы знаем, как к нему можно применить функцию: Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение: Теперь, когда вы примените функцию к этому значению, результаты вы будете получать разные — в зависимости от контекста. Это основная идея, на которой базируются функторы, аппликативные функторы, монады, стрелки и т.п. Тип данных Maybe определяет два связанных контекста: data Maybe a = Nothing | Just a Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах! Читать дальше →