ghc-9.8.0.20230929: The GHC API
Safe HaskellNone
LanguageHaskell2010

GHC.Data.Strict

Documentation

data Maybe a Source #

Constructors

Nothing 
Just !a 

Instances

Instances details
Foldable Maybe Source # 
Instance details

Defined in GHC.Data.Strict

Methods

fold :: Monoid m => Maybe m -> m Source #

foldMap :: Monoid m => (a -> m) -> Maybe a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Maybe a -> m Source #

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

foldr' :: (a -> b -> b) -> b -> Maybe a -> b Source #

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

foldl' :: (b -> a -> b) -> b -> Maybe a -> b Source #

foldr1 :: (a -> a -> a) -> Maybe a -> a Source #

foldl1 :: (a -> a -> a) -> Maybe a -> a Source #

toList :: Maybe a -> [a] Source #

null :: Maybe a -> Bool Source #

length :: Maybe a -> Int Source #

elem :: Eq a => a -> Maybe a -> Bool Source #

maximum :: Ord a => Maybe a -> a Source #

minimum :: Ord a => Maybe a -> a Source #

sum :: Num a => Maybe a -> a Source #

product :: Num a => Maybe a -> a Source #

Traversable Maybe Source # 
Instance details

Defined in GHC.Data.Strict

Methods

traverse :: Applicative f => (a -> f b) -> Maybe a -> f (Maybe b) Source #

sequenceA :: Applicative f => Maybe (f a) -> f (Maybe a) Source #

mapM :: Monad m => (a -> m b) -> Maybe a -> m (Maybe b) Source #

sequence :: Monad m => Maybe (m a) -> m (Maybe a) Source #

Alternative Maybe Source # 
Instance details

Defined in GHC.Data.Strict

Methods

empty :: Maybe a Source #

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

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

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

Applicative Maybe Source # 
Instance details

Defined in GHC.Data.Strict

Methods

pure :: a -> Maybe a Source #

(<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b Source #

liftA2 :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c Source #

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

(<*) :: Maybe a -> Maybe b -> Maybe a Source #

Functor Maybe Source # 
Instance details

Defined in GHC.Data.Strict

Methods

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

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

Data a => Data (Maybe a) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Maybe a -> c (Maybe a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Maybe a) Source #

toConstr :: Maybe a -> Constr Source #

dataTypeOf :: Maybe a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Maybe a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Maybe a)) Source #

gmapT :: (forall b. Data b => b -> b) -> Maybe a -> Maybe a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Maybe a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Maybe a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) Source #

Semigroup a => Monoid (Maybe a) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

mempty :: Maybe a Source #

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

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

Semigroup a => Semigroup (Maybe a) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

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

sconcat :: NonEmpty (Maybe a) -> Maybe a Source #

stimes :: Integral b => b -> Maybe a -> Maybe a Source #

Show a => Show (Maybe a) Source # 
Instance details

Defined in GHC.Data.Strict

Binary a => Binary (Maybe a) Source # 
Instance details

Defined in GHC.Utils.Binary

Methods

put_ :: BinHandle -> Maybe a -> IO () Source #

put :: BinHandle -> Maybe a -> IO (Bin (Maybe a)) Source #

get :: BinHandle -> IO (Maybe a) Source #

Eq a => Eq (Maybe a) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

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

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

Ord a => Ord (Maybe a) Source # 
Instance details

Defined in GHC.Data.Strict

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 #

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

data Pair a b Source #

Constructors

!a `And` !b 

Instances

Instances details
Foldable (Pair a) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

fold :: Monoid m => Pair a m -> m Source #

foldMap :: Monoid m => (a0 -> m) -> Pair a a0 -> m Source #

foldMap' :: Monoid m => (a0 -> m) -> Pair a a0 -> m Source #

foldr :: (a0 -> b -> b) -> b -> Pair a a0 -> b Source #

foldr' :: (a0 -> b -> b) -> b -> Pair a a0 -> b Source #

foldl :: (b -> a0 -> b) -> b -> Pair a a0 -> b Source #

foldl' :: (b -> a0 -> b) -> b -> Pair a a0 -> b Source #

foldr1 :: (a0 -> a0 -> a0) -> Pair a a0 -> a0 Source #

foldl1 :: (a0 -> a0 -> a0) -> Pair a a0 -> a0 Source #

toList :: Pair a a0 -> [a0] Source #

null :: Pair a a0 -> Bool Source #

length :: Pair a a0 -> Int Source #

elem :: Eq a0 => a0 -> Pair a a0 -> Bool Source #

maximum :: Ord a0 => Pair a a0 -> a0 Source #

minimum :: Ord a0 => Pair a a0 -> a0 Source #

sum :: Num a0 => Pair a a0 -> a0 Source #

product :: Num a0 => Pair a a0 -> a0 Source #

Traversable (Pair a) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

traverse :: Applicative f => (a0 -> f b) -> Pair a a0 -> f (Pair a b) Source #

sequenceA :: Applicative f => Pair a (f a0) -> f (Pair a a0) Source #

mapM :: Monad m => (a0 -> m b) -> Pair a a0 -> m (Pair a b) Source #

sequence :: Monad m => Pair a (m a0) -> m (Pair a a0) Source #

Functor (Pair a) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

fmap :: (a0 -> b) -> Pair a a0 -> Pair a b Source #

(<$) :: a0 -> Pair a b -> Pair a a0 Source #

(Data a, Data b) => Data (Pair a b) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Pair a b -> c (Pair a b) Source #

gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Pair a b) Source #

toConstr :: Pair a b -> Constr Source #

dataTypeOf :: Pair a b -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Pair a b)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Pair a b)) Source #

gmapT :: (forall b0. Data b0 => b0 -> b0) -> Pair a b -> Pair a b Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pair a b -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pair a b -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Pair a b -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Pair a b -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pair a b -> m (Pair a b) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pair a b -> m (Pair a b) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pair a b -> m (Pair a b) Source #

(Show a, Show b) => Show (Pair a b) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

showsPrec :: Int -> Pair a b -> ShowS Source #

show :: Pair a b -> String Source #

showList :: [Pair a b] -> ShowS Source #

(Eq a, Eq b) => Eq (Pair a b) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

(==) :: Pair a b -> Pair a b -> Bool #

(/=) :: Pair a b -> Pair a b -> Bool #

(Ord a, Ord b) => Ord (Pair a b) Source # 
Instance details

Defined in GHC.Data.Strict

Methods

compare :: Pair a b -> Pair a b -> Ordering #

(<) :: Pair a b -> Pair a b -> Bool #

(<=) :: Pair a b -> Pair a b -> Bool #

(>) :: Pair a b -> Pair a b -> Bool #

(>=) :: Pair a b -> Pair a b -> Bool #

max :: Pair a b -> Pair a b -> Pair a b #

min :: Pair a b -> Pair a b -> Pair a b #