Copyright | (c) 2006-2007 Roman Leshchinskiy (c) 2013 Simon Meier |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Simon Meier <iridcode@gmail.com> |
Stability | experimental |
Portability | GHC |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.Tuple.Strict
Description
The strict variant of the standard Haskell pairs and the corresponding variants of the functions from Data.Tuple.
Documentation
The type of strict pairs.
Constructors
!a :!: !b infix 2 |
Instances
Assoc Pair | |
Swap Pair | |
Defined in Data.Strict.Tuple | |
Bifoldable Pair | |
Bifunctor Pair | |
Bitraversable Pair | |
Defined in Data.Strict.Tuple Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Pair a b -> f (Pair c d) # | |
Eq2 Pair | |
Ord2 Pair | |
Defined in Data.Strict.Tuple | |
Read2 Pair |
|
Defined in Data.Strict.Tuple Methods liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Pair a b) # liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Pair a b] # liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Pair a b) # liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Pair a b] # | |
Show2 Pair | |
NFData2 Pair | |
Defined in Data.Strict.Tuple | |
Hashable2 Pair | |
Defined in Data.Strict.Tuple | |
Generic1 (Pair a :: Type -> Type) | |
Foldable (Pair e) | |
Defined in Data.Strict.Tuple Methods fold :: Monoid m => Pair e m -> m # foldMap :: Monoid m => (a -> m) -> Pair e a -> m # foldMap' :: Monoid m => (a -> m) -> Pair e a -> m # foldr :: (a -> b -> b) -> b -> Pair e a -> b # foldr' :: (a -> b -> b) -> b -> Pair e a -> b # foldl :: (b -> a -> b) -> b -> Pair e a -> b # foldl' :: (b -> a -> b) -> b -> Pair e a -> b # foldr1 :: (a -> a -> a) -> Pair e a -> a # foldl1 :: (a -> a -> a) -> Pair e a -> a # elem :: Eq a => a -> Pair e a -> Bool # maximum :: Ord a => Pair e a -> a # minimum :: Ord a => Pair e a -> a # | |
Eq a => Eq1 (Pair a) | |
Ord a => Ord1 (Pair a) | |
Defined in Data.Strict.Tuple | |
Read a => Read1 (Pair a) | |
Defined in Data.Strict.Tuple | |
Show a => Show1 (Pair a) | |
Traversable (Pair e) | |
Functor (Pair e) | |
NFData a => NFData1 (Pair a) | |
Defined in Data.Strict.Tuple | |
Hashable a => Hashable1 (Pair a) | |
Defined in Data.Strict.Tuple | |
(Data a, Data b) => Data (Pair a b) | |
Defined in Data.Strict.Tuple 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) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Pair a b) # toConstr :: Pair a b -> Constr # dataTypeOf :: Pair a b -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Pair a b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Pair a b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> Pair a b -> Pair a b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pair a b -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pair a b -> r # gmapQ :: (forall d. Data d => d -> u) -> Pair a b -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Pair a b -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pair a b -> m (Pair a b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pair a b -> m (Pair a b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pair a b -> m (Pair a b) # | |
(Monoid a, Monoid b) => Monoid (Pair a b) | |
(Semigroup a, Semigroup b) => Semigroup (Pair a b) | |
(Bounded a, Bounded b) => Bounded (Pair a b) | |
Generic (Pair a b) | |
(Ix a, Ix b) => Ix (Pair a b) | |
Defined in Data.Strict.Tuple Methods range :: (Pair a b, Pair a b) -> [Pair a b] # index :: (Pair a b, Pair a b) -> Pair a b -> Int # unsafeIndex :: (Pair a b, Pair a b) -> Pair a b -> Int # inRange :: (Pair a b, Pair a b) -> Pair a b -> Bool # rangeSize :: (Pair a b, Pair a b) -> Int # unsafeRangeSize :: (Pair a b, Pair a b) -> Int # | |
(Read a, Read b) => Read (Pair a b) | |
(Show a, Show b) => Show (Pair a b) | |
(Binary a, Binary b) => Binary (Pair a b) | |
(NFData a, NFData b) => NFData (Pair a b) | |
Defined in Data.Strict.Tuple | |
(Eq a, Eq b) => Eq (Pair a b) | |
(Ord a, Ord b) => Ord (Pair a b) | |
Defined in Data.Strict.Tuple | |
(Hashable a, Hashable b) => Hashable (Pair a b) | |
Defined in Data.Strict.Tuple | |
Field1 (Pair a b) (Pair a' b) a a' | Since: lens-4.20 |
Field2 (Pair a b) (Pair a b') b b' | Since: lens-4.20 |
type Rep1 (Pair a :: Type -> Type) | |
Defined in Data.Strict.Tuple type Rep1 (Pair a :: Type -> Type) = D1 ('MetaData "Pair" "Data.Strict.Tuple" "strict-0.5.1-CGNsivZhFfR7ssgu68HkPF" '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) | |
Defined in Data.Strict.Tuple type Rep (Pair a b) = D1 ('MetaData "Pair" "Data.Strict.Tuple" "strict-0.5.1-CGNsivZhFfR7ssgu68HkPF" '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))) | |
type Index (Pair a b) | |
Defined in Data.Strict.Lens |