Control.Monad.Trans.Maybe
| Авторские права | (c) 2007 Yitzak Gale, Eric Kidd |
|---|---|
| Лицензия | BSD-style (см. файл LICENSE) |
| Поддерживающий | ross@soi.city.ac.uk |
| Стабильность | экспериментальная |
| Переносимость | переносимый |
| Безопасный Haskell | Безопасный |
| Язык | Haskell98 |
Описание
Трансформатор монады MaybeT расширяет монаду возможностью выхода из вычисления без возвращения значения.
Последовательность действий производит значение только если все действия в последовательности производят значения. Если одно действие выходит, остальная часть последовательности пропускается, и составное действие выходит.
Для варианта, допускающего диапазон значений исключения, см. Control.Monad.Trans.Except.
Трансформатор монады MaybeT
Параметризуемая монада maybe, полученная путем композиции произвольной монады с монадой Maybe.
Вычисления — это действия, которые могут произвести значение или выйти.
Функция return возвращает вычисление, которое производит это значение, а >>= связывает два подвычисления, выходя, если какое-либо из них выходит.
Примеры
| MonadTrans MaybeT | |
| Monad m => Monad (MaybeT m) | |
| Functor m => Functor (MaybeT m) | |
| MonadFix m => MonadFix (MaybeT m) | |
| (Functor m, Monad m) => Applicative (MaybeT m) | |
| Foldable f => Foldable (MaybeT f) | |
| Traversable f => Traversable (MaybeT f) | |
| (Functor m, Monad m) => Alternative (MaybeT m) | |
| Monad m => MonadPlus (MaybeT m) | |
| MonadIO m => MonadIO (MaybeT m) | |
| Show1 m => Show1 (MaybeT m) | |
| Read1 m => Read1 (MaybeT m) | |
| Ord1 m => Ord1 (MaybeT m) | |
| Eq1 m => Eq1 (MaybeT m) | |
| (Eq1 m, Eq a) => Eq (MaybeT m a) | |
| (Ord1 m, Ord a) => Ord (MaybeT m a) | |
| (Read1 m, Read a) => Read (MaybeT m a) | |
| (Show1 m, Show a) => Show (MaybeT m a) |
mapMaybeT :: (m (Maybe a) -> n (Maybe b)) -> MaybeT m a -> MaybeT n b Источник
Преобразуйте вычисление внутри MaybeT.
Преобразование
maybeToExceptT :: Functor m => e -> MaybeT m a -> ExceptT e m a Source
Преобразование вычисления MaybeT в ExceptT, с использованием значения исключения по умолчанию.
exceptToMaybeT :: Functor m => ExceptT e m a -> MaybeT m a Source
Преобразование вычисления ExceptT в MaybeT, при этом значение любого исключения игнорируется.
Поднятие других операций
liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b Source
Поднятие операции callCC в новый монаду.
liftCatch :: Catch e m (Maybe a) -> Catch e (MaybeT m) a Source
Поднятие операции catchE в новый монаду.
liftListen :: Monad m => Listen w m (Maybe a) -> Listen w (MaybeT m) a Source
Поднятие операции listen в новый монаду.
liftPass :: Monad m => Pass w m (Maybe a) -> Pass w (MaybeT m) a Source
Поднятие операции pass в новый монаду.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/transformers-0.4.2.0/Control-Monad-Trans-Maybe.html