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