Spec-Zone.ru › Haskell 8

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

Методы

fail :: String -> m a Источник

Примеры
Подробности примеров
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

Сведения об экземпляре

Определено в Control.Monad.ST.Lazy.Imp

Методы

fail :: Строка -> ST s a Источник

MonadFail f => MonadFail (Ap f)

С версии: base-4.12.0.0

Сведения об экземпляре

Определено в Data.Monoid

Методы

fail :: Строка -> Ap f a Источник

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API