prolude-0.0.0.23: ITProTV's custom prelude
Safe HaskellSafe-Inferred
LanguageHaskell2010

Prolude.Maybe

Synopsis

Documentation

data Maybe a #

The Maybe type encapsulates an optional value. A value of type Maybe a either contains a value of type a (represented as Just a), or it is empty (represented as Nothing). Using Maybe is a good way to deal with errors or exceptional cases without resorting to drastic measures such as error.

The Maybe type is also a monad. It is a simple kind of error monad, where all errors are represented by Nothing. A richer error monad can be built using the Either type.

Constructors

Nothing 
Just a 

Instances

Instances details
Monad Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

(>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b #

(>>) :: Maybe a -> Maybe b -> Maybe b #

return :: a -> Maybe a #

Functor Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

fmap :: (a -> b) -> Maybe a -> Maybe b #

(<$) :: a -> Maybe b -> Maybe a #

MonadFail Maybe

Since: base-4.9.0.0

Instance details

Defined in Control.Monad.Fail

Methods

fail :: String -> Maybe a #

Applicative Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

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

Since: base-2.1

Instance details

Defined in Data.Foldable

Methods

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

Since: base-2.1

Instance details

Defined in Data.Traversable

Methods

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

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mzero :: Maybe a #

mplus :: Maybe a -> Maybe a -> Maybe a #

Arbitrary1 Maybe 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitrary :: Gen a -> Gen (Maybe a) #

liftShrink :: (a -> [a]) -> Maybe a -> [Maybe a] #

ToJSON1 Maybe 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

liftToJSON :: (a -> Value) -> ([a] -> Value) -> Maybe a -> Value #

liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Maybe a] -> Value #

liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Maybe a -> Encoding #

liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Maybe a] -> Encoding #

FromJSON1 Maybe 
Instance details

Defined in Data.Aeson.Types.FromJSON

Methods

liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Maybe a) #

liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Maybe a] #

Alternative Maybe

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

empty :: Maybe a #

(<|>) :: Maybe a -> Maybe a -> Maybe a #

some :: Maybe a -> Maybe [a] #

many :: Maybe a -> Maybe [a] #

MonadFailure Maybe 
Instance details

Defined in Basement.Monad

Associated Types

type Failure Maybe #

Methods

mFail :: Failure Maybe -> Maybe () #

MonadThrow Maybe 
Instance details

Defined in Control.Monad.Catch

Methods

throwM :: Exception e => e -> Maybe a #

NFData1 Maybe

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

liftRnf :: (a -> ()) -> Maybe a -> () #

Hashable1 Maybe 
Instance details

Defined in Data.Hashable.Class

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Maybe a -> Int #

MonadBaseControl Maybe Maybe 
Instance details

Defined in Control.Monad.Trans.Control

Associated Types

type StM Maybe a #

(Selector s, GToJSON' enc arity (K1 i (Maybe a) :: Type -> Type), KeyValuePair enc pairs, Monoid pairs) => RecordToPairs enc pairs arity (S1 s (K1 i (Maybe a) :: Type -> Type)) 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

recordToPairs :: Options -> ToArgs enc arity a0 -> S1 s (K1 i (Maybe a)) a0 -> pairs

(Selector s, ToHttpApiData c) => GToForm (t :: k) (M1 S s (K1 i (Maybe c) :: Type -> Type)) 
Instance details

Defined in Web.Internal.FormUrlEncoded

Methods

gToForm :: Proxy t -> FormOptions -> M1 S s (K1 i (Maybe c)) x -> Form #

(Selector s, FromHttpApiData c) => GFromForm (t :: k) (M1 S s (K1 i (Maybe c) :: Type -> Type)) 
Instance details

Defined in Web.Internal.FormUrlEncoded

Methods

gFromForm :: Proxy t -> FormOptions -> Form -> Either Text (M1 S s (K1 i (Maybe c)) x) #

Lift a => Lift (Maybe a :: Type) 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

lift :: Maybe a -> Q Exp #

liftTyped :: Maybe a -> Q (TExp (Maybe a)) #

HasExamples Response (Maybe Example) 
Instance details

Defined in Data.Swagger.Lens

HasAttribute Xml (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasNamespace Xml (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasPrefix Xml (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

Methods

prefix :: Lens' Xml (Maybe Text) #

HasWrapped Xml (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

Methods

wrapped :: Lens' Xml (Maybe Bool) #

HasDefault ParamOtherSchema (Maybe Value) 
Instance details

Defined in Data.Swagger.Lens

HasDefault Schema (Maybe Value) 
Instance details

Defined in Data.Swagger.Lens

HasDefault Responses (Maybe (Referenced Response)) 
Instance details

Defined in Data.Swagger.Lens

HasDefault Header (Maybe Value) 
Instance details

Defined in Data.Swagger.Lens

HasParamSchema s (ParamSchema t) => HasEnum s (Maybe [Value]) 
Instance details

Defined in Data.Swagger.Lens

Methods

enum_ :: Lens' s (Maybe [Value]) #

HasParamSchema s (ParamSchema t) => HasExclusiveMaximum s (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasParamSchema s (ParamSchema t) => HasExclusiveMinimum s (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasParamSchema s (ParamSchema t) => HasFormat s (Maybe Format) 
Instance details

Defined in Data.Swagger.Lens

Methods

format :: Lens' s (Maybe Format) #

HasParamSchema s (ParamSchema t) => HasItems s (Maybe (SwaggerItems t)) 
Instance details

Defined in Data.Swagger.Lens

Methods

items :: Lens' s (Maybe (SwaggerItems t)) #

HasParamSchema s (ParamSchema t) => HasMaxItems s (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

Methods

maxItems :: Lens' s (Maybe Integer) #

HasParamSchema s (ParamSchema t) => HasMaxLength s (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

Methods

maxLength :: Lens' s (Maybe Integer) #

HasParamSchema s (ParamSchema t) => HasMaximum s (Maybe Scientific) 
Instance details

Defined in Data.Swagger.Lens

HasParamSchema s (ParamSchema t) => HasMinItems s (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

Methods

minItems :: Lens' s (Maybe Integer) #

HasParamSchema s (ParamSchema t) => HasMinLength s (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

Methods

minLength :: Lens' s (Maybe Integer) #

HasParamSchema s (ParamSchema t) => HasMinimum s (Maybe Scientific) 
Instance details

Defined in Data.Swagger.Lens

HasParamSchema s (ParamSchema t) => HasMultipleOf s (Maybe Scientific) 
Instance details

Defined in Data.Swagger.Lens

HasParamSchema s (ParamSchema t) => HasPattern s (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

Methods

pattern :: Lens' s (Maybe Text) #

HasType ParamOtherSchema (Maybe (SwaggerType ('SwaggerKindParamOtherSchema :: SwaggerKind Type))) 
Instance details

Defined in Data.Swagger.Lens

HasType Schema (Maybe (SwaggerType ('SwaggerKindSchema :: SwaggerKind Type))) 
Instance details

Defined in Data.Swagger.Lens

HasType NamedSchema (Maybe (SwaggerType ('SwaggerKindSchema :: SwaggerKind Type))) 
Instance details

Defined in Data.Swagger.Lens

HasType Header (Maybe (SwaggerType ('SwaggerKindNormal Header))) 
Instance details

Defined in Data.Swagger.Lens

HasParamSchema s (ParamSchema t) => HasUniqueItems s (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

Methods

uniqueItems :: Lens' s (Maybe Bool) #

HasAdditionalProperties Schema (Maybe AdditionalProperties) 
Instance details

Defined in Data.Swagger.Lens

HasAllOf Schema (Maybe [Referenced Schema]) 
Instance details

Defined in Data.Swagger.Lens

HasDiscriminator Schema (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasExample Schema (Maybe Value) 
Instance details

Defined in Data.Swagger.Lens

HasMaxProperties Schema (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

HasMinProperties Schema (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

HasReadOnly Schema (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasXml Schema (Maybe Xml) 
Instance details

Defined in Data.Swagger.Lens

Methods

xml :: Lens' Schema (Maybe Xml) #

HasAllowEmptyValue ParamOtherSchema (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasRequired Param (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasSchema Response (Maybe (Referenced Schema)) 
Instance details

Defined in Data.Swagger.Lens

HasDeprecated Operation (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasOperationId Operation (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasSummary Operation (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDelete PathItem (Maybe Operation) 
Instance details

Defined in Data.Swagger.Lens

HasGet PathItem (Maybe Operation) 
Instance details

Defined in Data.Swagger.Lens

HasHead PathItem (Maybe Operation) 
Instance details

Defined in Data.Swagger.Lens

HasOptions PathItem (Maybe Operation) 
Instance details

Defined in Data.Swagger.Lens

HasPatch PathItem (Maybe Operation) 
Instance details

Defined in Data.Swagger.Lens

HasPost PathItem (Maybe Operation) 
Instance details

Defined in Data.Swagger.Lens

HasPut PathItem (Maybe Operation) 
Instance details

Defined in Data.Swagger.Lens

HasEmail Contact (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasUrl Contact (Maybe URL) 
Instance details

Defined in Data.Swagger.Lens

Methods

url :: Lens' Contact (Maybe URL) #

HasUrl License (Maybe URL) 
Instance details

Defined in Data.Swagger.Lens

Methods

url :: Lens' License (Maybe URL) #

HasContact Info (Maybe Contact) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Info (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Operation (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Param (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Schema (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Header (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription SecurityScheme (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription Tag (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasDescription ExternalDocs (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasLicense Info (Maybe License) 
Instance details

Defined in Data.Swagger.Lens

HasTermsOfService Info (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasTitle Schema (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasName Contact (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasName NamedSchema (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

HasName Xml (Maybe Text) 
Instance details

Defined in Data.Swagger.Lens

Methods

name :: Lens' Xml (Maybe Text) #

HasPort Host (Maybe PortNumber) 
Instance details

Defined in Data.Swagger.Lens

HasBasePath Swagger (Maybe FilePath) 
Instance details

Defined in Data.Swagger.Lens

HasConsumes Operation (Maybe MimeList) 
Instance details

Defined in Data.Swagger.Lens

HasExternalDocs Swagger (Maybe ExternalDocs) 
Instance details

Defined in Data.Swagger.Lens

HasExternalDocs Operation (Maybe ExternalDocs) 
Instance details

Defined in Data.Swagger.Lens

HasExternalDocs Schema (Maybe ExternalDocs) 
Instance details

Defined in Data.Swagger.Lens

HasExternalDocs Tag (Maybe ExternalDocs) 
Instance details

Defined in Data.Swagger.Lens

HasHost Swagger (Maybe Host) 
Instance details

Defined in Data.Swagger.Lens

HasProduces Operation (Maybe MimeList) 
Instance details

Defined in Data.Swagger.Lens

HasSchemes Swagger (Maybe [Scheme]) 
Instance details

Defined in Data.Swagger.Lens

HasSchemes Operation (Maybe [Scheme]) 
Instance details

Defined in Data.Swagger.Lens

(Selector s, FromJSON a) => RecordFromJSON' arity (S1 s (K1 i (Maybe a) :: Type -> Type)) 
Instance details

Defined in Data.Aeson.Types.FromJSON

Methods

recordParseJSON' :: (ConName :* (TypeName :* (Options :* FromArgs arity a0))) -> Object -> Parser (S1 s (K1 i (Maybe a)) a0)

Eq a => Eq (Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Maybe

Methods

(==) :: Maybe a -> Maybe a -> Bool #

(/=) :: Maybe a -> Maybe a -> Bool #

Ord a => Ord (Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Maybe

Methods

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)

Since: base-2.1

Instance details

Defined in GHC.Read

Show a => Show (Maybe a)

Since: base-2.1

Instance details

Defined in GHC.Show

Methods

showsPrec :: Int -> Maybe a -> ShowS #

show :: Maybe a -> String #

showList :: [Maybe a] -> ShowS #

Generic (Maybe a)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (Maybe a) :: Type -> Type #

Methods

from :: Maybe a -> Rep (Maybe a) x #

to :: Rep (Maybe a) x -> Maybe a #

Semigroup a => Semigroup (Maybe a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

(<>) :: 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)

Lift a semigroup into Maybe forming a Monoid according to http://en.wikipedia.org/wiki/Monoid: "Any semigroup S may be turned into a monoid simply by adjoining an element e not in S and defining e*e = e and e*s = s = s*e for all s ∈ S."

Since 4.11.0: constraint on inner a value generalised from Monoid to Semigroup.

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: Maybe a #

mappend :: Maybe a -> Maybe a -> Maybe a #

mconcat :: [Maybe a] -> Maybe a #

Arbitrary a => Arbitrary (Maybe a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitrary :: Gen (Maybe a) #

shrink :: Maybe a -> [Maybe a] #

CoArbitrary a => CoArbitrary (Maybe a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary :: Maybe a -> Gen b -> Gen b #

Hashable a => Hashable (Maybe a) 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Maybe a -> Int #

hash :: Maybe a -> Int #

ToJSON a => ToJSON (Maybe a) 
Instance details

Defined in Data.Aeson.Types.ToJSON

FromJSON a => FromJSON (Maybe a) 
Instance details

Defined in Data.Aeson.Types.FromJSON

NFData a => NFData (Maybe a) 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Maybe a -> () #

Val a => Val (Maybe a) 
Instance details

Defined in Data.Bson

Methods

val :: Maybe a -> Value #

valList :: [Maybe a] -> Value #

valMaybe :: Maybe (Maybe a) -> Value #

cast' :: Value -> Maybe (Maybe a) #

cast'List :: Value -> Maybe [Maybe a] #

cast'Maybe :: Value -> Maybe (Maybe (Maybe a)) #

FromField a => FromField (Maybe a)

Nothing if the Field is empty, Just otherwise.

Instance details

Defined in Data.Csv.Conversion

Methods

parseField :: Field -> Parser (Maybe a) #

ToField a => ToField (Maybe a)

Nothing is encoded as an empty field.

Instance details

Defined in Data.Csv.Conversion

Methods

toField :: Maybe a -> Field #

ToMaybe (SqlExpr (Maybe a)) 
Instance details

Defined in Database.Esqueleto.Experimental.ToMaybe

Associated Types

type ToMaybeT (SqlExpr (Maybe a)) #

Methods

toMaybe :: SqlExpr (Maybe a) -> ToMaybeT (SqlExpr (Maybe a)) #

SqlString a => SqlString (Maybe a)

Since: esqueleto-2.4.0

Instance details

Defined in Database.Esqueleto.Internal.Internal

FromPreprocess (SqlExpr (Maybe (Entity val))) => From (SqlExpr (Maybe (Entity val))) 
Instance details

Defined in Database.Esqueleto.Internal.Internal

Methods

from_ :: SqlQuery (SqlExpr (Maybe (Entity val))) #

(PersistEntity val, BackendCompatible SqlBackend (PersistEntityBackend val)) => FromPreprocess (SqlExpr (Maybe (Entity val))) 
Instance details

Defined in Database.Esqueleto.Internal.Internal

PersistField a => PersistField (Maybe a) 
Instance details

Defined in Database.Persist.Class.PersistField

PersistFieldSql a => PersistFieldSql (Maybe a) 
Instance details

Defined in Database.Persist.Sql.Class

Methods

sqlType :: Proxy (Maybe a) -> SqlType #

RawSql a => RawSql (Maybe a)

Since: persistent-1.0.1

Instance details

Defined in Database.Persist.Sql.Class

ToHttpApiData a => ToHttpApiData (Maybe a)
>>> toUrlPiece (Just "Hello")
"just Hello"
Instance details

Defined in Web.Internal.HttpApiData

FromHttpApiData a => FromHttpApiData (Maybe a)
>>> parseUrlPiece "Just 123" :: Either Text (Maybe Int)
Right (Just 123)
Instance details

Defined in Web.Internal.HttpApiData

Ixed (Maybe a) 
Instance details

Defined in Control.Lens.At

Methods

ix :: Index (Maybe a) -> Traversal' (Maybe a) (IxValue (Maybe a)) #

At (Maybe a) 
Instance details

Defined in Control.Lens.At

Methods

at :: Index (Maybe a) -> Lens' (Maybe a) (Maybe (IxValue (Maybe a))) #

MonoFunctor (Maybe a) 
Instance details

Defined in Data.MonoTraversable

Methods

omap :: (Element (Maybe a) -> Element (Maybe a)) -> Maybe a -> Maybe a #

MonoFoldable (Maybe a) 
Instance details

Defined in Data.MonoTraversable

Methods

ofoldMap :: Monoid m => (Element (Maybe a) -> m) -> Maybe a -> m #

ofoldr :: (Element (Maybe a) -> b -> b) -> b -> Maybe a -> b #

ofoldl' :: (a0 -> Element (Maybe a) -> a0) -> a0 -> Maybe a -> a0 #

otoList :: Maybe a -> [Element (Maybe a)] #

oall :: (Element (Maybe a) -> Bool) -> Maybe a -> Bool #

oany :: (Element (Maybe a) -> Bool) -> Maybe a -> Bool #

onull :: Maybe a -> Bool #

olength :: Maybe a -> Int #

olength64 :: Maybe a -> Int64 #

ocompareLength :: Integral i => Maybe a -> i -> Ordering #

otraverse_ :: Applicative f => (Element (Maybe a) -> f b) -> Maybe a -> f () #

ofor_ :: Applicative f => Maybe a -> (Element (Maybe a) -> f b) -> f () #

omapM_ :: Applicative m => (Element (Maybe a) -> m ()) -> Maybe a -> m () #

oforM_ :: Applicative m => Maybe a -> (Element (Maybe a) -> m ()) -> m () #

ofoldlM :: Monad m => (a0 -> Element (Maybe a) -> m a0) -> a0 -> Maybe a -> m a0 #

ofoldMap1Ex :: Semigroup m => (Element (Maybe a) -> m) -> Maybe a -> m #

ofoldr1Ex :: (Element (Maybe a) -> Element (Maybe a) -> Element (Maybe a)) -> Maybe a -> Element (Maybe a) #

ofoldl1Ex' :: (Element (Maybe a) -> Element (Maybe a) -> Element (Maybe a)) -> Maybe a -> Element (Maybe a) #

headEx :: Maybe a -> Element (Maybe a) #

lastEx :: Maybe a -> Element (Maybe a) #

unsafeHead :: Maybe a -> Element (Maybe a) #

unsafeLast :: Maybe a -> Element (Maybe a) #

maximumByEx :: (Element (Maybe a) -> Element (Maybe a) -> Ordering) -> Maybe a -> Element (Maybe a) #

minimumByEx :: (Element (Maybe a) -> Element (Maybe a) -> Ordering) -> Maybe a -> Element (Maybe a) #

oelem :: Element (Maybe a) -> Maybe a -> Bool #

onotElem :: Element (Maybe a) -> Maybe a -> Bool #

MonoTraversable (Maybe a) 
Instance details

Defined in Data.MonoTraversable

Methods

otraverse :: Applicative f => (Element (Maybe a) -> f (Element (Maybe a))) -> Maybe a -> f (Maybe a) #

omapM :: Applicative m => (Element (Maybe a) -> m (Element (Maybe a))) -> Maybe a -> m (Maybe a) #

MonoPointed (Maybe a) 
Instance details

Defined in Data.MonoTraversable

Methods

opoint :: Element (Maybe a) -> Maybe a #

Ixed (Maybe a) 
Instance details

Defined in Optics.At.Core

Associated Types

type IxKind (Maybe a) #

Methods

ix :: Index (Maybe a) -> Optic' (IxKind (Maybe a)) NoIx (Maybe a) (IxValue (Maybe a)) #

At (Maybe a) 
Instance details

Defined in Optics.At.Core

Methods

at :: Index (Maybe a) -> Lens' (Maybe a) (Maybe (IxValue (Maybe a))) #

MongoRegexSearchable rs => MongoRegexSearchable (Maybe rs) 
Instance details

Defined in Database.Persist.MongoDB

ToSchema a => ToSchema (Maybe a) 
Instance details

Defined in Data.Swagger.Internal.Schema

SingKind a => SingKind (Maybe a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep (Maybe a)

Methods

fromSing :: forall (a0 :: Maybe a). Sing a0 -> DemoteRep (Maybe a)

Generic1 Maybe

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 Maybe :: k -> Type #

Methods

from1 :: forall (a :: k). Maybe a -> Rep1 Maybe a #

to1 :: forall (a :: k). Rep1 Maybe a -> Maybe a #

PersistEntity a => SqlSelect (SqlExpr (Maybe (Entity a))) (Maybe (Entity a))

You may return a possibly-NULL Entity from a select query.

Instance details

Defined in Database.Esqueleto.Internal.Internal

HasDefault (ParamSchema t) (Maybe Value) 
Instance details

Defined in Data.Swagger.Lens

HasEnum (ParamSchema t) (Maybe [Value]) 
Instance details

Defined in Data.Swagger.Lens

Methods

enum_ :: Lens' (ParamSchema t) (Maybe [Value]) #

HasExclusiveMaximum (ParamSchema t) (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasExclusiveMinimum (ParamSchema t) (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

HasFormat (ParamSchema t) (Maybe Format) 
Instance details

Defined in Data.Swagger.Lens

HasItems (ParamSchema t) (Maybe (SwaggerItems t)) 
Instance details

Defined in Data.Swagger.Lens

HasMaxItems (ParamSchema t) (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

HasMaxLength (ParamSchema t) (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

HasMaximum (ParamSchema t) (Maybe Scientific) 
Instance details

Defined in Data.Swagger.Lens

HasMinItems (ParamSchema t) (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

HasMinLength (ParamSchema t) (Maybe Integer) 
Instance details

Defined in Data.Swagger.Lens

HasMinimum (ParamSchema t) (Maybe Scientific) 
Instance details

Defined in Data.Swagger.Lens

HasMultipleOf (ParamSchema t) (Maybe Scientific) 
Instance details

Defined in Data.Swagger.Lens

HasPattern (ParamSchema t) (Maybe Pattern) 
Instance details

Defined in Data.Swagger.Lens

HasType (ParamSchema t) (Maybe (SwaggerType t)) 
Instance details

Defined in Data.Swagger.Lens

HasUniqueItems (ParamSchema t) (Maybe Bool) 
Instance details

Defined in Data.Swagger.Lens

SingI ('Nothing :: Maybe a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing 'Nothing

SingI a2 => SingI ('Just a2 :: Maybe a1)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing ('Just a2)

a ~ a' => FindGen ('Match 'INCOHERENT) ('S _fg _coh '(con, i, 'Just s)) (FieldGen s a) gs a'

Matching custom generator for field s.

Instance details

Defined in Generic.Random.Internal.Generic

Methods

findGen :: (Proxy ('Match 'INCOHERENT), Proxy ('S _fg _coh '(con, i, 'Just s)), FullGenListOf ('S _fg _coh '(con, i, 'Just s))) -> FieldGen s a -> gs -> Gen a' #

a ~ a' => FindGen ('Match 'INCOHERENT) ('S _fg _coh '('Just c, i, s)) (ConstrGen c i a) gs a'

Matching custom generator for i-th field of constructor c.

Instance details

Defined in Generic.Random.Internal.Generic

Methods

findGen :: (Proxy ('Match 'INCOHERENT), Proxy ('S _fg _coh '('Just c, i, s)), FullGenListOf ('S _fg _coh '('Just c, i, s))) -> ConstrGen c i a -> gs -> Gen a' #

ToSchema c => GToSchema (K1 i (Maybe c) :: Type -> Type) 
Instance details

Defined in Data.Swagger.Internal.Schema

(Selector s, ToSchema c) => GToSchema (S1 s (K1 i (Maybe c) :: Type -> Type))

Optional record fields.

Instance details

Defined in Data.Swagger.Internal.Schema

type Failure Maybe 
Instance details

Defined in Basement.Monad

type Failure Maybe = ()
type StM Maybe a 
Instance details

Defined in Control.Monad.Trans.Control

type StM Maybe a = a
type Rep (Maybe a) 
Instance details

Defined in 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 ToMaybeT (SqlExpr (Maybe a)) 
Instance details

Defined in Database.Esqueleto.Experimental.ToMaybe

type Code (Maybe a) 
Instance details

Defined in Generics.SOP.Instances

type Code (Maybe a) = '['[] :: [Type], '[a]]
type DatatypeInfoOf (Maybe a) 
Instance details

Defined in Generics.SOP.Instances

type DatatypeInfoOf (Maybe a) = 'ADT "GHC.Maybe" "Maybe" '['Constructor "Nothing", 'Constructor "Just"] '['[] :: [StrictnessInfo], '['StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy]]
type Index (Maybe a) 
Instance details

Defined in Control.Lens.At

type Index (Maybe a) = ()
type IxValue (Maybe a) 
Instance details

Defined in Control.Lens.At

type IxValue (Maybe a) = a
type Element (Maybe a) 
Instance details

Defined in Data.MonoTraversable

type Element (Maybe a) = a
type Index (Maybe a) 
Instance details

Defined in Optics.At.Core

type Index (Maybe a) = ()
type IxValue (Maybe a) 
Instance details

Defined in Optics.At.Core

type IxValue (Maybe a) = a
type IxKind (Maybe a) 
Instance details

Defined in Optics.At.Core

type DemoteRep (Maybe a) 
Instance details

Defined in GHC.Generics

type DemoteRep (Maybe a) = Maybe (DemoteRep a)
data Sing (b :: Maybe a) 
Instance details

Defined in GHC.Generics

data Sing (b :: Maybe a) where
type Rep1 Maybe 
Instance details

Defined in GHC.Generics

type Rep1 Maybe = 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) Par1))

maybe :: b -> (a -> b) -> Maybe a -> b #

The maybe function takes a default value, a function, and a Maybe value. If the Maybe value is Nothing, the function returns the default value. Otherwise, it applies the function to the value inside the Just and returns the result.

Examples

Expand

Basic usage:

>>> maybe False odd (Just 3)
True
>>> maybe False odd Nothing
False

Read an integer from a string using readMaybe. If we succeed, return twice the integer; that is, apply (*2) to it. If instead we fail to parse an integer, return 0 by default:

>>> import Text.Read ( readMaybe )
>>> maybe 0 (*2) (readMaybe "5")
10
>>> maybe 0 (*2) (readMaybe "")
0

Apply show to a Maybe Int. If we have Just n, we want to show the underlying Int n. But if we have Nothing, we return the empty string instead of (for example) "Nothing":

>>> maybe "" show (Just 5)
"5"
>>> maybe "" show Nothing
""

isJust :: Maybe a -> Bool #

The isJust function returns True iff its argument is of the form Just _.

Examples

Expand

Basic usage:

>>> isJust (Just 3)
True
>>> isJust (Just ())
True
>>> isJust Nothing
False

Only the outer constructor is taken into consideration:

>>> isJust (Just Nothing)
True

isNothing :: Maybe a -> Bool #

The isNothing function returns True iff its argument is Nothing.

Examples

Expand

Basic usage:

>>> isNothing (Just 3)
False
>>> isNothing (Just ())
False
>>> isNothing Nothing
True

Only the outer constructor is taken into consideration:

>>> isNothing (Just Nothing)
False

fromMaybe :: a -> Maybe a -> a #

The fromMaybe function takes a default value and and Maybe value. If the Maybe is Nothing, it returns the default values; otherwise, it returns the value contained in the Maybe.

Examples

Expand

Basic usage:

>>> fromMaybe "" (Just "Hello, World!")
"Hello, World!"
>>> fromMaybe "" Nothing
""

Read an integer from a string using readMaybe. If we fail to parse an integer, we want to return 0 by default:

>>> import Text.Read ( readMaybe )
>>> fromMaybe 0 (readMaybe "5")
5
>>> fromMaybe 0 (readMaybe "")
0

maybeToList :: Maybe a -> [a] #

The maybeToList function returns an empty list when given Nothing or a singleton list when given Just.

Examples

Expand

Basic usage:

>>> maybeToList (Just 7)
[7]
>>> maybeToList Nothing
[]

One can use maybeToList to avoid pattern matching when combined with a function that (safely) works on lists:

>>> import Text.Read ( readMaybe )
>>> sum $ maybeToList (readMaybe "3")
3
>>> sum $ maybeToList (readMaybe "")
0

listToMaybe :: [a] -> Maybe a #

The listToMaybe function returns Nothing on an empty list or Just a where a is the first element of the list.

Examples

Expand

Basic usage:

>>> listToMaybe []
Nothing
>>> listToMaybe [9]
Just 9
>>> listToMaybe [1,2,3]
Just 1

Composing maybeToList with listToMaybe should be the identity on singleton/empty lists:

>>> maybeToList $ listToMaybe [5]
[5]
>>> maybeToList $ listToMaybe []
[]

But not on lists with more than one element:

>>> maybeToList $ listToMaybe [1,2,3]
[1]

catMaybes :: [Maybe a] -> [a] #

The catMaybes function takes a list of Maybes and returns a list of all the Just values.

Examples

Expand

Basic usage:

>>> catMaybes [Just 1, Nothing, Just 3]
[1,3]

When constructing a list of Maybe values, catMaybes can be used to return all of the "success" results (if the list is the result of a map, then mapMaybe would be more appropriate):

>>> import Text.Read ( readMaybe )
>>> [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ]
[Just 1,Nothing,Just 3]
>>> catMaybes $ [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ]
[1,3]

mapMaybe :: (a -> Maybe b) -> [a] -> [b] #

The mapMaybe function is a version of map which can throw out elements. In particular, the functional argument returns something of type Maybe b. If this is Nothing, no element is added on to the result list. If it is Just b, then b is included in the result list.

Examples

Expand

Using mapMaybe f x is a shortcut for catMaybes $ map f x in most cases:

>>> import Text.Read ( readMaybe )
>>> let readMaybeInt = readMaybe :: String -> Maybe Int
>>> mapMaybe readMaybeInt ["1", "Foo", "3"]
[1,3]
>>> catMaybes $ map readMaybeInt ["1", "Foo", "3"]
[1,3]

If we map the Just constructor, the entire list should be returned:

>>> mapMaybe Just [1,2,3]
[1,2,3]

note :: a -> Maybe b -> Either a b Source #

Tag the Nothing value of a Maybe

hush :: Either a b -> Maybe b Source #

Suppress the Left value of an Either