Spec-Zone.ru › Haskell 8

GHC.Maybe

Safe Haskell None
Language Haskell2010

Описание

Тип Maybe

data Maybe a Источник

Тип Maybe инкапсулирует необязательное значение. Значение типа Maybe a либо содержит значение типа a (представленное как Just a), либо оно пустое (представленное как Nothing). Использование Maybe — хороший способ обработки ошибок или исключительных случаев без прибегания к таким радикальным мерам, как error.

Тип Maybe также является монадой. Это простой вид монады ошибок, где все ошибки представлены как Nothing. Более богатую монаду ошибок можно построить с помощью типа Either.

Конструкторы

Nothing
Just a
Экземпляры
Подробности о экземплярах
Monad Maybe

С версии: base-2.1

Подробности о экземпляре

Определено в GHC.Base

Методы

(>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b Источник

(>>) :: Maybe a -> Maybe b -> Maybe b Источник

return :: a -> Maybe a Источник

Functor Maybe

С версии: base-2.1

Подробности о экземпляре

Определено в GHC.Base

Методы

fmap :: (a -> b) -> Maybe a -> Maybe b Источник

(<$) :: a -> Maybe b -> Maybe a Источник

MonadFix Maybe

С версии: base-2.1

Подробности о экземпляре

Определено в Control.Monad.Fix

Методы

mfix :: (a -> Maybe a) -> Maybe a Источник

MonadFail Maybe

С версии: base-4.9.0.0

Подробности о экземпляре

Определено в Control.Monad.Fail

Методы

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

Applicative Maybe

С версии: base-2.1

Подробности о экземпляре

Определено в GHC.Base

Методы

pure :: a -> Maybe a Источник

(<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b Источник

liftA2 :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c Источник

(*>) :: Maybe a -> Maybe b -> Maybe b Источник

(<*) :: Maybe a -> Maybe b -> Maybe a Источник

Foldable Maybe

С версии: base-2.1

Подробности экземпляра

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

Методы

fold :: Monoid m => Maybe m -> m Исходный код

foldMap :: Monoid m => (a -> m) -> Maybe a -> m Исходный код

foldMap' :: Monoid m => (a -> m) -> Maybe a -> m Исходный код

foldr :: (a -> b -> b) -> b -> Maybe a -> b Исходный код

foldr' :: (a -> b -> b) -> b -> Maybe a -> b Исходный код

foldl :: (b -> a -> b) -> b -> Maybe a -> b Исходный код

foldl' :: (b -> a -> b) -> b -> Maybe a -> b Исходный код

foldr1 :: (a -> a -> a) -> Maybe a -> a Исходный код

foldl1 :: (a -> a -> a) -> Maybe a -> a Исходный код

toList :: Maybe a -> [a] Исходный код

null :: Maybe a -> Bool Исходный код

length :: Maybe a -> Int Исходный код

elem :: Eq a => a -> Maybe a -> Bool Исходный код

maximum :: Ord a => Maybe a -> a Исходный код

minimum :: Ord a => Maybe a -> a Исходный код

sum :: Num a => Maybe a -> a Исходный код

product :: Num a => Maybe a -> a Исходный код

Traversable Maybe

С момента: base-2.1

Подробности экземпляра

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

Методы

traverse :: Applicative f => (a -> f b) -> Maybe a -> f (Maybe b) Исходный код

sequenceA :: Applicative f => Maybe (f a) -> f (Maybe a) Исходный код

mapM :: Monad m => (a -> m b) -> Maybe a -> m (Maybe b) Исходный код

sequence :: Monad m => Maybe (m a) -> m (Maybe a) Исходный код

MonadPlus Maybe

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Base

Методы

mzero :: Maybe a Исходный код

mplus :: Maybe a -> Maybe a -> Maybe a Исходный код

Alternative Maybe

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Base

Методы

empty :: Maybe a Исходный код

(<|>) :: Maybe a -> Maybe a -> Maybe a Исходный код

some :: Maybe a -> Maybe [a] Исходный код

many :: Maybe a -> Maybe [a] Исходный код

MonadZip Maybe

С момента: base-4.8.0.0

Подробности экземпляра

Определено в Control.Monad.Zip

Методы

mzip :: Maybe a -> Maybe b -> Maybe (a, b) Исходный код

mzipWith :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c Исходный код

munzip :: Maybe (a, b) -> (Maybe a, Maybe b) Исходный код

Show1 Maybe

С: base-4.9.0.0

Подробности экземпляра

Определено в Data.Functor.Classes

Методы

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Maybe a -> ShowS Исходный код

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Maybe a] -> ShowS Исходный код

Read1 Maybe

С: base-4.9.0.0

Подробности экземпляра

Определено в Data.Functor.Classes

Методы

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Maybe a) Исходный код

``` ```html

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Maybe a] Исходный код

Ord1 Maybe

С: base-4.9.0.0

Подробности экземпляра

Определено в Data.Functor.Classes

Методы

liftCompare :: (a -> b -> Ordering) -> Maybe a -> Maybe b -> Ordering Исходный код

Eq1 Maybe

С: base-4.9.0.0

Подробности экземпляра

Определено в Data.Functor.Classes

Методы

liftEq :: (a -> b -> Bool) -> Maybe a -> Maybe b -> Bool Исходный код

Eq a => Eq (Maybe a)

С: base-2.1

Подробности экземпляра

Определено в GHC.Maybe

Методы

(==) :: Maybe a -> Maybe a -> Bool Исходный код

(/=) :: Maybe a -> Maybe a -> Bool Исходный код

Data a => Data (Maybe a)

С: base-4.0.0.0

Подробности экземпляра

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

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Maybe a -> c (Maybe a) Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Maybe a) Исходный код

toConstr :: Maybe a -> Constr Исходный код

dataTypeOf :: Maybe a -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Maybe a)) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Maybe a)) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Maybe a -> Maybe a Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Maybe a -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Maybe a -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Исходный код

Ord a => Ord (Maybe a)

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Maybe

Методы

compare :: Maybe a -> Maybe a -> Ordering Исходный код

(<) :: Maybe a -> Maybe a -> Bool Исходный код

(<=) :: Maybe a -> Maybe a -> Bool Исходный код

(>) :: Maybe a -> Maybe a -> Bool Исходный код

(>=) :: Maybe a -> Maybe a -> Bool Исходный код

max :: Maybe a -> Maybe a -> Maybe a Исходный код

min :: Maybe a -> Maybe a -> Maybe a Исходный код

Read a => Read (Maybe a)

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Read

Методы

readsPrec :: Int -> ReadS (Maybe a) Исходный код

readList :: ReadS [Maybe a] Исходный код

readPrec :: ReadPrec (Maybe a) Исходный код

readListPrec :: ReadPrec [Maybe a] Исходный код

Show a => Show (Maybe a)

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Show

Методы

showsPrec :: Int -> Maybe a -> ShowS Исходный код

show :: Maybe a -> String Исходный код

showList :: [Maybe a] -> ShowS Исходный код

Generic (Maybe a)

С момента: base-4.6.0.0

Подробности экземпляра

Определено в GHC.Generics

Связанные типы

type Rep (Maybe a) :: Type -> Type Исходный код

Методы

from :: Maybe a -> Rep (Maybe a) x Исходный код

to :: Rep (Maybe a) x -> Maybe a Исходный код

Semigroup a => Semigroup (Maybe a)

С момента: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Base

Методы

(<>) :: Maybe a -> Maybe a -> Maybe a Исходный код

sconcat :: NonEmpty (Maybe a) -> Maybe a Исходный код

stimes :: Integral b => b -> Maybe a -> Maybe a Исходный код

Semigroup a => Monoid (Maybe a)

Поднятие полугруппы в Maybe для формирования Monoid в соответствии с http://en.wikipedia.org/wiki/Monoid: "Любая полугруппа S может быть преобразована в моноид путем добавления элемента e , не принадлежащего S , и определения e*e = e и e*s = s = s*e для всех s ∈ S."

С версии 4.11.0: ограничение на внутреннее значение a обобщено с Monoid до Semigroup.

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Base

Методы

mempty :: Maybe a Исходный код

mappend :: Maybe a -> Maybe a -> Maybe a Исходный код

mconcat :: [Maybe a] -> Maybe a Исходный код

Generic1 Maybe

С момента: base-4.6.0.0

Подробности экземпляра

Определено в GHC.Generics

Связанные типы

type Rep1 Maybe :: k -> Type Исходный код

Методы

from1 :: forall (a :: k). Maybe a -> Rep1 Maybe a Исходный код

to1 :: forall (a :: k). Rep1 Maybe a -> Maybe a Исходный код

type Rep (Maybe a)
Подробности экземпляра

Определено в GHC.Generics

type Rep (Maybe a) = D1 ('MetaData "Maybe" "GHC.Maybe" "base" 'False) (C1 ('MetaCons "Nothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Just" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
type Rep1 Maybe
Подробности экземпляра

Определено в GHC.Generics

тип Rep1 Maybe = D1 ('MetaData "Maybe" "GHC.Maybe" "base" 'False) (C1 ('MetaCons "Nothing" 'PrefixI 'False) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "Just" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Символ) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

© 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/GHC-Maybe.html

Spec-Zone.ru

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