bizzlelude-js-4.17.2.2: src/main/Tuple2.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
module Tuple2(mapFst, mapSnd, mapAll2, mapEach2, mapFstF, mapSndF, tuple2To3a, tuple2To3b, tuple2To3c) where
import External
(<&>) :: Functor f => f a -> (a -> b) -> f b
(<&>) = flip fmap
mapFst :: (a -> x) -> (a, b) -> (x, b)
mapFst f (a, b) = (f a, b)
mapSnd :: (b -> x) -> (a, b) -> (a, x)
mapSnd f (a, b) = (a, f b)
mapAll2 :: (a -> x) -> (a, a) -> (x, x)
mapAll2 f (a, b) = (f a, f b)
mapEach2 :: (a -> x) -> (b -> y) -> (a, b) -> (x, y)
mapEach2 f g (a, b) = (f a, g b)
mapFstF :: Functor f => (a -> f x) -> (a, b) -> f (x, b)
mapFstF f (a, b) = (f a) <&> (\x -> (x, b))
mapSndF :: Functor f => (b -> f x) -> (a, b) -> f (a, x)
mapSndF f (a, b) = (f b) <&> (\x -> (a, x))
tuple2To3a :: (a, b) -> x -> (x, a, b)
tuple2To3a (a, b) x = (x, a, b)
tuple2To3b :: (a, b) -> x -> (a, x, b)
tuple2To3b (a, b) x = (a, x, b)
tuple2To3c :: (a, b) -> x -> (a, b, x)
tuple2To3c (a, b) x = (a, b, x)