bizzlelude-js-4.17.2.2: src/main/Tuple4.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
module Tuple4(mapFst4, mapSnd4, mapThd4, mapFrt4, mapAll4, mapEach4, mapFstF4, mapSndF4, mapThdF4, mapFrtF4, tuple4To5a, tuple4To5b, tuple4To5c, tuple4To5d, tuple4To5e, curry4, uncurry4, fst4, snd4, thd4, frt4) where
import External
(<&>) :: Functor f => f a -> (a -> b) -> f b
(<&>) = flip fmap
mapFst4 :: (a -> x) -> (a, b, c, d) -> (x, b, c, d)
mapFst4 f (a, b, c, d) = (f a, b, c, d)
mapSnd4 :: (b -> x) -> (a, b, c, d) -> (a, x, c, d)
mapSnd4 f (a, b, c, d) = (a, f b, c, d)
mapThd4 :: (c -> x) -> (a, b, c, d) -> (a, b, x, d)
mapThd4 f (a, b, c, d) = (a, b, f c, d)
mapFrt4 :: (d -> x) -> (a, b, c, d) -> (a, b, c, x)
mapFrt4 f (a, b, c, d) = (a, b, c, f d)
mapAll4 :: (a -> x) -> (a, a, a, a) -> (x, x, x, x)
mapAll4 f (a, b, c, d) = (f a, f b, f c, f d)
mapEach4 :: (a -> x) -> (b -> y) -> (c -> z) -> (d -> l) -> (a, b, c, d) -> (x, y, z, l)
mapEach4 f g h i (a, b, c, d) = (f a, g b, h c, i d)
mapFstF4 :: Functor f => (a -> f x) -> (a, b, c, d) -> f (x, b, c, d)
mapFstF4 f (a, b, c, d) = (f a) <&> (\x -> (x, b, c, d))
mapSndF4 :: Functor f => (b -> f x) -> (a, b, c, d) -> f (a, x, c, d)
mapSndF4 f (a, b, c, d) = (f b) <&> (\x -> (a, x, c, d))
mapThdF4 :: Functor f => (c -> f x) -> (a, b, c, d) -> f (a, b, x, d)
mapThdF4 f (a, b, c, d) = (f c) <&> (\x -> (a, b, x, d))
mapFrtF4 :: Functor f => (d -> f x) -> (a, b, c, d) -> f (a, b, c, x)
mapFrtF4 f (a, b, c, d) = (f d) <&> (\x -> (a, b, c, x))
tuple4To5a :: (a, b, c, d) -> x -> (x, a, b, c, d)
tuple4To5a (a, b, c, d) x = (x, a, b, c, d)
tuple4To5b :: (a, b, c, d) -> x -> (a, x, b, c, d)
tuple4To5b (a, b, c, d) x = (a, x, b, c, d)
tuple4To5c :: (a, b, c, d) -> x -> (a, b, x, c, d)
tuple4To5c (a, b, c, d) x = (a, b, x, c, d)
tuple4To5d :: (a, b, c, d) -> x -> (a, b, c, x, d)
tuple4To5d (a, b, c, d) x = (a, b, c, x, d)
tuple4To5e :: (a, b, c, d) -> x -> (a, b, c, d, x)
tuple4To5e (a, b, c, d) x = (a, b, c, d, x)
curry4 :: ((a, b, c, d) -> x) -> a -> b -> c -> d -> x
curry4 f a b c d = f (a, b, c, d)
uncurry4 :: (a -> b -> c -> d -> x) -> ((a, b, c, d) -> x)
uncurry4 f (a, b, c, d) = f a b c d
fst4 :: (a, b, c, d) -> a
fst4 (a, _, _, _) = a
snd4 :: (a, b, c, d) -> b
snd4 (_, b, _, _) = b
thd4 :: (a, b, c, d) -> c
thd4 (_, _, c, _) = c
frt4 :: (a, b, c, d) -> d
frt4 (_, _, _, d) = d