BNFC-2.5.0: src/Data/Pair.hs
module Data.Pair where
import Control.Applicative
infixl 2 :/:
data Pair a = (:/:) {leftOf :: a, rightOf :: a}
deriving (Show)
instance Functor Pair where
fmap f (a :/: b) = f a :/: f b
instance Applicative Pair where
pure a = a :/: a
(f :/: g) <*> (a :/: b) = f a :/: g b