Control.Monad.Fail
| Авторские права | (C) 2015 David Luposchainsky (C) 2015 Herbert Valerio Riedel |
|---|---|
| Лицензия | BSD-стиль (см. файл LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | временная |
| Переносимость | переносимая |
| Безопасный Haskell | Надежный |
| Язык | Haskell2010 |
Описание
Переходный модуль, предоставляющий класс MonadFail и примитивные экземпляры.
Этот модуль можно импортировать для определения совместимых с будущим MonadFail экземпляров:
import qualified Control.Monad.Fail as Fail
instance Monad Foo where
(>>=) = {- ...bind impl... -}
-- Provide legacy fail implementation for when
-- new-style MonadFail desugaring is not enabled.
fail = Fail.fail
instance Fail.MonadFail Foo where
fail = {- ...fail implementation... -}
См. https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail для получения более подробной информации.
С версии: base-4.9.0.0
class Monad m => MonadFail m where Источник
Когда значение связывается в do-нотации, шаблон слева от <- может не совпадать. В этом случае этот класс предоставляет функцию для восстановления.
Monad без экземпляра MonadFail может быть использован только совместно с шаблонами, которые всегда совпадают, такими как новые типы, кортежи, типы данных с одним конструктором данных и необращаемыми шаблонами (~pat).
Экземпляры MonadFail должны удовлетворять следующему закону: fail s должно быть левым нулём для >>=,
fail s >>= f = fail s
Если ваш Monad также MonadPlus, популярное определение:
fail _ = mzero
С версии: base-4.9.0.0
Примеры
| MonadFail [] | С момента: base-4.9.0.0 |
Определено в Control.Monad.Fail Методыfail :: Строка -> [a] Исходный код | |
| MonadFail Может быть | С момента: base-4.9.0.0 |
Определено в Control.Monad.Fail Методыfail :: Строка -> Может быть a Исходный код | |
| MonadFail IO | С момента: base-4.9.0.0 |
Определено в Control.Monad.Fail Методыfail :: Строка -> IO a Исходный код | |
| MonadFail ReadP | С момента: base-4.9.0.0 |
Определено в Text.ParserCombinators.ReadP Методыfail :: Строка -> ReadP a Исходный код | |
| MonadFail ReadPrec | С момента: base-4.9.0.0 |
Определено в Text.ParserCombinators.ReadPrec Методыfail :: Строка -> ReadPrec a Исходный код | |
| MonadFail (ST s) | С момента: base-4.11.0.0 |
Определено в GHC.ST Методыfail :: Строка -> ST s a Исходный код | |
| MonadFail (ST s) | С момента: base-4.10 |
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/Control-Monad-Fail.html