Safe Haskell | Ignore |
---|---|
Language | Haskell2010 |
GHC.Data.Maybe
Contents
Synopsis
- listToMaybe :: [a] -> Maybe a
- data Maybe a
- maybeToList :: Maybe a -> [a]
- isJust :: Maybe a -> Bool
- fromMaybe :: a -> Maybe a -> a
- fromJust :: HasCallStack => Maybe a -> a
- isNothing :: Maybe a -> Bool
- mapMaybe :: (a -> Maybe b) -> [a] -> [b]
- catMaybes :: [Maybe a] -> [a]
- maybe :: b -> (a -> b) -> Maybe a -> b
- data MaybeErr err val
- failME :: err -> MaybeErr err val
- isSuccess :: MaybeErr err val -> Bool
- orElse :: Maybe a -> a -> a
- firstJust :: Maybe a -> Maybe a -> Maybe a
- firstJusts :: Foldable f => f (Maybe a) -> Maybe a
- firstJustsM :: (Monad m, Foldable f) => f (m (Maybe a)) -> m (Maybe a)
- whenIsJust :: Monad m => Maybe a -> (a -> m ()) -> m ()
- expectJust :: HasDebugCallStack => String -> Maybe a -> a
- rightToMaybe :: Either a b -> Maybe b
- newtype MaybeT (m :: Type -> Type) a = MaybeT {}
- liftMaybeT :: Monad m => m a -> MaybeT m a
- tryMaybeT :: IO a -> MaybeT IO a
Documentation
listToMaybe :: [a] -> Maybe a #
Instances
MonadFail Maybe | |||||
Defined in Control.Monad.Fail | |||||
MonadFix Maybe | |||||
Defined in Control.Monad.Fix | |||||
MonadZip Maybe | |||||
Foldable Maybe | |||||
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 # elem :: Eq a => a -> Maybe a -> Bool # maximum :: Ord a => Maybe a -> a # minimum :: Ord a => Maybe a -> a # | |||||
Eq1 Maybe | |||||
Ord1 Maybe | |||||
Defined in Data.Functor.Classes Methods liftCompare :: (a -> b -> Ordering) -> Maybe a -> Maybe b -> Ordering | |||||
Read1 Maybe | |||||
Defined in Data.Functor.Classes Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Maybe a) liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Maybe a] liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Maybe a) liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Maybe a] | |||||
Show1 Maybe | |||||
Defined in Data.Functor.Classes | |||||
Traversable Maybe | |||||
Alternative Maybe | |||||
Applicative Maybe | |||||
Functor Maybe | |||||
Monad Maybe | |||||
MonadPlus Maybe | |||||
NFData1 Maybe | |||||
Defined in Control.DeepSeq | |||||
MonadThrow Maybe | |||||
Defined in Control.Monad.Catch Methods throwM :: (HasCallStack, Exception e) => e -> Maybe a | |||||
Generic1 Maybe | |||||
Defined in GHC.Generics Associated Types
| |||||
OutputableP env a => OutputableP env (Maybe a) Source # | |||||
Lift a => Lift (Maybe a :: Type) Source # | |||||
Lift a => Lift (Maybe a :: Type) | |||||
Data a => Data (Maybe a) | |||||
Defined in Data.Data Methods 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) 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) | |||||
Semigroup a => Monoid (Maybe a) | |||||
Semigroup a => Semigroup (Maybe a) | |||||
Generic (Maybe a) | |||||
Defined in GHC.Generics Associated Types
| |||||
SingKind a => SingKind (Maybe a) | |||||
Defined in GHC.Generics Associated Types
| |||||
Read a => Read (Maybe a) | |||||
Show a => Show (Maybe a) | |||||
Binary a => Binary (Maybe a) | |||||
NFData a => NFData (Maybe a) | |||||
Defined in Control.DeepSeq | |||||
Binary a => Binary (Maybe a) Source # | |||||
Outputable a => Outputable (Maybe a) Source # | |||||
Eq (DeBruijn a) => Eq (DeBruijn (Maybe a)) Source # | |||||
Eq a => Eq (Maybe a) | |||||
Ord a => Ord (Maybe a) | |||||
Pretty a => Pretty (Maybe a) | |||||
Defined in Text.PrettyPrint.Annotated.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Maybe a -> Doc ann pPrintList :: PrettyLevel -> [Maybe a] -> Doc ann | |||||
Pretty a => Pretty (Maybe a) | |||||
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Maybe a -> Doc pPrintList :: PrettyLevel -> [Maybe a] -> Doc | |||||
SingI ('Nothing :: Maybe a) | |||||
Defined in GHC.Generics | |||||
SingI a2 => SingI ('Just a2 :: Maybe a1) | |||||
Defined in GHC.Generics | |||||
type Rep1 Maybe | |||||
type DemoteRep (Maybe a) | |||||
Defined in GHC.Generics | |||||
type Rep (Maybe a) | |||||
Defined in GHC.Generics | |||||
data Sing (b :: Maybe a) | |||||
type Anno (Maybe Role) Source # | |||||
type Anno (Maybe Role) Source # | |||||
maybeToList :: Maybe a -> [a] #
fromJust :: HasCallStack => Maybe a -> a #
data MaybeErr err val Source #
Instances
Applicative (MaybeErr err) Source # | |
Defined in GHC.Data.Maybe | |
Functor (MaybeErr err) Source # | |
Monad (MaybeErr err) Source # | |
firstJusts :: Foldable f => f (Maybe a) -> Maybe a Source #
Takes a list of Maybes
and returns the first Just
if there is one, or
Nothing
otherwise.
firstJustsM :: (Monad m, Foldable f) => f (m (Maybe a)) -> m (Maybe a) Source #
Takes computations returnings Maybes
; tries each one in order.
The first one to return a Just
wins. Returns Nothing
if all computations
return Nothing
.
whenIsJust :: Monad m => Maybe a -> (a -> m ()) -> m () Source #
expectJust :: HasDebugCallStack => String -> Maybe a -> a Source #
rightToMaybe :: Either a b -> Maybe b Source #
MaybeT
newtype MaybeT (m :: Type -> Type) a #
Instances
MonadTrans MaybeT | |||||
Defined in Control.Monad.Trans.Maybe | |||||
Functor m => Generic1 (MaybeT m :: Type -> Type) | |||||
Defined in Control.Monad.Trans.Maybe Associated Types
| |||||
Monad m => MonadFail (MaybeT m) | |||||
Defined in Control.Monad.Trans.Maybe | |||||
MonadFix m => MonadFix (MaybeT m) | |||||
Defined in Control.Monad.Trans.Maybe | |||||
MonadIO m => MonadIO (MaybeT m) | |||||
Defined in Control.Monad.Trans.Maybe | |||||
MonadZip m => MonadZip (MaybeT m) | |||||
Foldable f => Foldable (MaybeT f) | |||||
Defined in Control.Monad.Trans.Maybe Methods fold :: Monoid m => MaybeT f m -> m foldMap :: Monoid m => (a -> m) -> MaybeT f a -> m # foldMap' :: Monoid m => (a -> m) -> MaybeT f a -> m foldr :: (a -> b -> b) -> b -> MaybeT f a -> b # foldr' :: (a -> b -> b) -> b -> MaybeT f a -> b foldl :: (b -> a -> b) -> b -> MaybeT f a -> b # foldl' :: (b -> a -> b) -> b -> MaybeT f a -> b # foldr1 :: (a -> a -> a) -> MaybeT f a -> a # foldl1 :: (a -> a -> a) -> MaybeT f a -> a # elem :: Eq a => a -> MaybeT f a -> Bool # maximum :: Ord a => MaybeT f a -> a # minimum :: Ord a => MaybeT f a -> a # | |||||
Eq1 m => Eq1 (MaybeT m) | |||||
Ord1 m => Ord1 (MaybeT m) | |||||
Defined in Control.Monad.Trans.Maybe Methods liftCompare :: (a -> b -> Ordering) -> MaybeT m a -> MaybeT m b -> Ordering | |||||
Read1 m => Read1 (MaybeT m) | |||||
Defined in Control.Monad.Trans.Maybe Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (MaybeT m a) liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [MaybeT m a] liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (MaybeT m a) liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [MaybeT m a] | |||||
Show1 m => Show1 (MaybeT m) | |||||
Defined in Control.Monad.Trans.Maybe | |||||
Contravariant m => Contravariant (MaybeT m) | |||||
Traversable f => Traversable (MaybeT f) | |||||
Defined in Control.Monad.Trans.Maybe | |||||
(Functor m, Monad m) => Alternative (MaybeT m) | |||||
(Functor m, Monad m) => Applicative (MaybeT m) | |||||
Functor m => Functor (MaybeT m) | |||||
Monad m => Monad (MaybeT m) | |||||
Monad m => MonadPlus (MaybeT m) | |||||
MonadCatch m => MonadCatch (MaybeT m) | |||||
Defined in Control.Monad.Catch | |||||
MonadMask m => MonadMask (MaybeT m) | |||||
Defined in Control.Monad.Catch Methods mask :: HasCallStack => ((forall a. MaybeT m a -> MaybeT m a) -> MaybeT m b) -> MaybeT m b uninterruptibleMask :: HasCallStack => ((forall a. MaybeT m a -> MaybeT m a) -> MaybeT m b) -> MaybeT m b generalBracket :: HasCallStack => MaybeT m a -> (a -> ExitCase b -> MaybeT m c) -> (a -> MaybeT m b) -> MaybeT m (b, c) | |||||
MonadThrow m => MonadThrow (MaybeT m) | |||||
Defined in Control.Monad.Catch Methods throwM :: (HasCallStack, Exception e) => e -> MaybeT m a | |||||
(Monad m, HasDynFlags m) => HasDynFlags (MaybeT m) Source # | |||||
Defined in GHC.Driver.DynFlags Methods getDynFlags :: MaybeT m DynFlags Source # | |||||
Generic (MaybeT m a) | |||||
Defined in Control.Monad.Trans.Maybe Associated Types
| |||||
(Read1 m, Read a) => Read (MaybeT m a) | |||||
(Show1 m, Show a) => Show (MaybeT m a) | |||||
(Eq1 m, Eq a) => Eq (MaybeT m a) | |||||
(Ord1 m, Ord a) => Ord (MaybeT m a) | |||||
Defined in Control.Monad.Trans.Maybe | |||||
type Rep1 (MaybeT m :: Type -> Type) | |||||
Defined in Control.Monad.Trans.Maybe | |||||
type Rep (MaybeT m a) | |||||
liftMaybeT :: Monad m => m a -> MaybeT m a Source #