module Antelude.Tuple.Trio
( Trio
, curry
, cycleCCW
, cycleCW
, first
, mapFirst
, mapSecond
, mapThird
, pack
, reverse
, second
, third
, uncurry
) where
import safe Antelude.Internal.TypesClasses ( Trio )
first :: Trio a b c -> a
first :: forall a b c. Trio a b c -> a
first (a
a, b
_, c
_) = a
a
second :: Trio a b c -> b
second :: forall a b c. Trio a b c -> b
second (a
_, b
b, c
_) = b
b
third :: Trio a b c -> c
third :: forall a b c. Trio a b c -> c
third (a
_, b
_, c
c) = c
c
mapFirst :: (a -> z) -> Trio a b c -> Trio z b c
mapFirst :: forall a z b c. (a -> z) -> Trio a b c -> Trio z b c
mapFirst a -> z
fn (a
a, b
b, c
c) = (a -> z
fn a
a, b
b, c
c)
mapSecond :: (b -> z) -> Trio a b c -> Trio a z c
mapSecond :: forall b z a c. (b -> z) -> Trio a b c -> Trio a z c
mapSecond b -> z
fn (a
a, b
b, c
c) = (a
a, b -> z
fn b
b, c
c)
mapThird :: (c -> z) -> Trio a b c -> Trio a b z
mapThird :: forall c z a b. (c -> z) -> Trio a b c -> Trio a b z
mapThird c -> z
fn (a
a, b
b, c
c) = (a
a, b
b, c -> z
fn c
c)
cycleCW :: Trio a b c -> Trio c a b
cycleCW :: forall a b c. Trio a b c -> Trio c a b
cycleCW (a
a, b
b, c
c) = (c
c, a
a, b
b)
cycleCCW :: Trio a b c -> Trio b c a
cycleCCW :: forall a b c. Trio a b c -> Trio b c a
cycleCCW (a
a, b
b, c
c) = (b
b, c
c, a
a)
reverse :: Trio a b c -> Trio c b a
reverse :: forall a b c. Trio a b c -> Trio c b a
reverse (a
a, b
b, c
c) = (c
c, b
b, a
a)
pack :: a -> b -> c -> Trio a b c
pack :: forall a b c. a -> b -> c -> Trio a b c
pack a
a b
b c
c = (a
a, b
b, c
c)
curry :: ((a, b, c) -> d) -> a -> b -> c -> d
curry :: forall a b c d. ((a, b, c) -> d) -> a -> b -> c -> d
curry (a, b, c) -> d
fn a
a b
b c
c = (a, b, c) -> d
fn (a
a, b
b, c
c)
uncurry :: (a -> b -> c -> d) -> (a, b, c) -> d
uncurry :: forall a b c d. (a -> b -> c -> d) -> (a, b, c) -> d
uncurry a -> b -> c -> d
fn (a
a, b
b, c
c) = a -> b -> c -> d
fn a
a b
b c
c