utility-ht-0.0.5.1: Various small helper functions for Lists, Maybes, Tuples, Functions

Safe Haskell | Safe-Inferred

Data.Tuple.HT

Contents

- Pair
- Triple

Synopsis

- mapPair :: (a -> c, b -> d) -> (a, b) -> (c, d)
- mapFst :: (a -> c) -> (a, b) -> (c, b)
- mapSnd :: (b -> c) -> (a, b) -> (a, c)
- swap :: (a, b) -> (b, a)
- forcePair :: (a, b) -> (a, b)
- fst3 :: (a, b, c) -> a
- snd3 :: (a, b, c) -> b
- thd3 :: (a, b, c) -> c
- curry3 :: ((a, b, c) -> d) -> a -> b -> c -> d
- uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d

# Pair

mapPair :: (a -> c, b -> d) -> (a, b) -> (c, d)Source

Cf. '(Control.Arrow.***)'.

Apply two functions on corresponding values in a pair, where the pattern match on the pair constructor is lazy. This is crucial in recursions such as the of `partition`.

mapFst :: (a -> c) -> (a, b) -> (c, b)Source

`first`

mapSnd :: (b -> c) -> (a, b) -> (a, c)Source

`second`

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

forcePair :: (a, b) -> (a, b)Source

# Triple

fst3 :: (a, b, c) -> aSource

snd3 :: (a, b, c) -> bSource

thd3 :: (a, b, c) -> cSource

curry3 :: ((a, b, c) -> d) -> a -> b -> c -> dSource

uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> dSource