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

Содержимое удалено Содержимое добавлено
→‎Простой монадный трансформер: MaybeT: стилевые правки, синхронизировал с английским текстом
м возращенном=>возвращенном
Строка 368:
Функция <code>lift</code> создает функцию, изменяющую состояние, <code>StateT</code>, которая связывает вычисление во внутренней монаде с функцией, пакующей результат со входным состоянием. Результат в том, если для воплощения мы применяем
StateT к монаде the List, функция, которая возвращает список (то есть, вычисление в монаде List) может быть поднято вовнутрь
<code>StateT&nbsp;s&nbsp;[]</code>, где оно станет функцией, которая возвращает <code>StateT&nbsp;(s&nbsp;->&nbsp;[(a,s)])</code>. Таким образом, поднятое вычисление производит ''множественные'' пары (значение, состояние) из его внутреннего состояния. Эффект выразится в «разветвлении» вычисления в StateT, создавая разные ветви для разных значений в списке, возращенномвозвращенном поднятой функцией. Разумеется, применяя <code>StateT</code> к разным монадам, получим разную семантику функции <code>lift</code>.
 
== Благодарности ==