Haskell/Monad transformers: различия между версиями

Перейти к навигации Перейти к поиску
Нет изменений в размере ,  3 года назад
→‎Реализация lift: орфография
(→‎Изобилие трансформеров: оформление, исправление)
(→‎Реализация lift: орфография)
</source>
 
Мы начинаем с монадическим значением внутренней монады — средним слоем, если вы предпочитаете аналогию с сэндвичем. Используя оператор <code>bind</code> и конструктор типа для базовой монады, мы плавно сдвигаем (скатываем, намазываем ??) нижний слой (базовую монаду) под средний слой. В конце, мы помещаем верхний срез нашего сэндвича с помощью конструктора <code>MaybeT</code>. Таким образом, используя фнукциюфункцию <code>lift</code>, мы трансформировали нижний кусок начинки сэндвича в подлинно трехслойный монадический сэндвич. Отметим, что как в реализации класса <code>Monad</code>, и оператор <code>bind</code>, и общий (основной) оператор <code>return</code> работают в границах внутренней монады.
 
{{Exercises|1=
93

правки

Навигация