ref: 8ac1a80eb76e4dd9b52f2524e359671fa3d96d2c
dir: /lib/Data/Tuple.hs/
-- Copyright 2023 Lennart Augustsson -- See LICENSE file for full license. module Data.Tuple(module Data.Tuple) where import Data.Bool data () = () -- Parser hacks allows () to be used --Z --data (a,b) = (a,b) -- all tuples are built in --data (a,b,c) = (a,b,c) -- etc fst :: forall a b . (a, b) -> a fst (a, _) = a snd :: forall a b . (a, b) -> b snd (_, b) = b pair :: forall a b . a -> b -> (a, b) pair x y = (x, y) eqPair :: forall a b . (a -> a -> Bool) -> (b -> b -> Bool) -> (a, b) -> (a, b) -> Bool eqPair eqa eqb (a1, b1) (a2, b2) = eqa a1 a2 && eqb b1 b2