Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
The strict variant of the standard Haskell pairs and the corresponding variants of the functions from Data.Tuple .
Note that unlike regular Haskell pairs,
(x :*: _|_) = (_|_ :*: y) = _|_
Documentation
The type of strict pairs.
!a :!: !b infix 2 |
Instances
Bifunctor Pair Source # | |
Swap Pair Source # | |
Assoc Pair Source # | |
Bitraversable Pair Source # | |
Defined in Data.Strict.Tuple bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Pair a b -> f ( Pair c d) Source # |
|
Bifoldable Pair Source # | |
Eq2 Pair Source # | |
Ord2 Pair Source # | |
Defined in Data.Strict.Tuple |
|
Read2 Pair Source # |
|
Defined in Data.Strict.Tuple liftReadsPrec2 :: ( Int -> ReadS a) -> ReadS [a] -> ( Int -> ReadS b) -> ReadS [b] -> Int -> ReadS ( Pair a b) Source # liftReadList2 :: ( Int -> ReadS a) -> ReadS [a] -> ( Int -> ReadS b) -> ReadS [b] -> ReadS [ Pair a b] Source # liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec ( Pair a b) Source # liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [ Pair a b] Source # |
|
Show2 Pair Source # | |
Defined in Data.Strict.Tuple |
|
NFData2 Pair Source # | |
Defined in Data.Strict.Tuple |
|
Hashable2 Pair Source # | |
Functor ( Pair e) Source # | |
Foldable ( Pair e) Source # | |
Defined in Data.Strict.Tuple fold :: Monoid m => Pair e m -> m Source # foldMap :: Monoid m => (a -> m) -> Pair e a -> m Source # foldMap' :: Monoid m => (a -> m) -> Pair e a -> m Source # foldr :: (a -> b -> b) -> b -> Pair e a -> b Source # foldr' :: (a -> b -> b) -> b -> Pair e a -> b Source # foldl :: (b -> a -> b) -> b -> Pair e a -> b Source # foldl' :: (b -> a -> b) -> b -> Pair e a -> b Source # foldr1 :: (a -> a -> a) -> Pair e a -> a Source # foldl1 :: (a -> a -> a) -> Pair e a -> a Source # toList :: Pair e a -> [a] Source # null :: Pair e a -> Bool Source # length :: Pair e a -> Int Source # elem :: Eq a => a -> Pair e a -> Bool Source # maximum :: Ord a => Pair e a -> a Source # minimum :: Ord a => Pair e a -> a Source # |
|
Traversable ( Pair e) Source # | |
Defined in Data.Strict.Tuple |
|
Eq a => Eq1 ( Pair a) Source # | |
Ord a => Ord1 ( Pair a) Source # | |
Defined in Data.Strict.Tuple |
|
Read a => Read1 ( Pair a) Source # | |
Defined in Data.Strict.Tuple liftReadsPrec :: ( Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS ( Pair a a0) Source # liftReadList :: ( Int -> ReadS a0) -> ReadS [a0] -> ReadS [ Pair a a0] Source # liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec ( Pair a a0) Source # liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [ Pair a a0] Source # |
|
Show a => Show1 ( Pair a) Source # | |
NFData a => NFData1 ( Pair a) Source # | |
Defined in Data.Strict.Tuple |
|
Hashable a => Hashable1 ( Pair a) Source # | |
Defined in Data.Strict.Tuple |
|
Generic1 ( Pair a :: Type -> Type ) Source # | |
( Bounded a, Bounded b) => Bounded ( Pair a b) Source # | |
( Eq a, Eq b) => Eq ( Pair a b) Source # | |
( Data a, Data b) => Data ( Pair a b) Source # | |
Defined in Data.Strict.Tuple 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 # |
|
( Ord a, Ord b) => Ord ( Pair a b) Source # | |
Defined in Data.Strict.Tuple |
|
( Read a, Read b) => Read ( Pair a b) Source # | |
( Show a, Show b) => Show ( Pair a b) Source # | |
( Ix a, Ix b) => Ix ( Pair a b) Source # | |
Defined in Data.Strict.Tuple |
|
Generic ( Pair a b) Source # | |
( Semigroup a, Semigroup b) => Semigroup ( Pair a b) Source # | |
( Monoid a, Monoid b) => Monoid ( Pair a b) Source # | |
( Binary a, Binary b) => Binary ( Pair a b) Source # | |
( NFData a, NFData b) => NFData ( Pair a b) Source # | |
Defined in Data.Strict.Tuple |
|
( Hashable a, Hashable b) => Hashable ( Pair a b) Source # | |
Strict (a, b) ( Pair a b) Source # | |
type Rep1 ( Pair a :: Type -> Type ) Source # | |
Defined in Data.Strict.Tuple
type
Rep1
(
Pair
a ::
Type
->
Type
) =
D1
('
MetaData
"Pair" "Data.Strict.Tuple" "strict-0.4.0.1-AAOFHkm4mgeKztrEI4BKIe" '
False
) (
C1
('
MetaCons
":!:" ('
InfixI
'
NotAssociative
2) '
False
) (
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
SourceStrict
'
DecidedStrict
) (
Rec0
a)
:*:
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
SourceStrict
'
DecidedStrict
)
Par1
))
|
|
type Rep ( Pair a b) Source # | |
Defined in Data.Strict.Tuple
type
Rep
(
Pair
a b) =
D1
('
MetaData
"Pair" "Data.Strict.Tuple" "strict-0.4.0.1-AAOFHkm4mgeKztrEI4BKIe" '
False
) (
C1
('
MetaCons
":!:" ('
InfixI
'
NotAssociative
2) '
False
) (
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
SourceStrict
'
DecidedStrict
) (
Rec0
a)
:*:
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
SourceStrict
'
DecidedStrict
) (
Rec0
b)))
|