strict-data-0.2.0.2: A collection of commonly used strict data structures

Safe HaskellNone
LanguageHaskell2010

Data.StrictTuple

Contents

Synopsis

Documentation

toLazyTuple :: (a :!: b) -> (a, b) Source #

fromLazyTuple :: (a, b) -> a :!: b Source #

fst' :: Pair a b -> a Source #

snd' :: Pair a b -> b Source #

uncurry' :: (a -> b -> c) -> Pair a b -> c Source #

first :: (a -> b) -> (a :!: c) -> b :!: c Source #

second :: (b -> c) -> (a :!: b) -> a :!: c Source #

swap :: (a, b) -> (b, a) #

Swap the components of a pair.

swap' :: (a :!: b) -> b :!: a Source #

fst3 :: (a, b, c) -> a Source #

snd3 :: (a, b, c) -> b Source #

thr3 :: (a, b, c) -> c Source #

fst3' :: ((a :!: b) :!: c) -> a Source #

snd3' :: ((a :!: b) :!: c) -> b Source #

thr3' :: ((a :!: b) :!: c) -> c Source #

Orphan instances

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

Methods

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

gunfold :: (forall c r. Data c => c (c -> 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 c. Data c => c -> c) -> Pair a b -> Pair a b #

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

gmapQr :: (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) Source # 

Methods

mempty :: Pair a b #

mappend :: Pair a b -> Pair a b -> Pair a b #

mconcat :: [Pair a b] -> Pair a b #

(Arbitrary a, Arbitrary b) => Arbitrary (Pair a b) Source # 

Methods

arbitrary :: Gen (Pair a b) #

shrink :: Pair a b -> [Pair a b] #

(Hashable a, Hashable b) => Hashable (Pair a b) Source # 

Methods

hashWithSalt :: Int -> Pair a b -> Int #

hash :: Pair a b -> Int #

(ToJSON a, ToJSON b) => ToJSON (Pair a b) Source # 

Methods

toJSON :: Pair a b -> Value #

toEncoding :: Pair a b -> Encoding #

toJSONList :: [Pair a b] -> Value #

toEncodingList :: [Pair a b] -> Encoding #

(FromJSON a, FromJSON b) => FromJSON (Pair a b) Source # 

Methods

parseJSON :: Value -> Parser (Pair a b) #

parseJSONList :: Value -> Parser [Pair a b] #

(NFData a, NFData b) => NFData (Pair a b) Source # 

Methods

rnf :: Pair a b -> () #