-- |Applicative combinators module Prelate.Control.Applicative where -- |Create a pair from two applicative values. pairA :: Applicative f => f a -> f b -> f (a, b) pairA :: forall (f :: * -> *) a b. Applicative f => f a -> f b -> f (a, b) pairA f a fa f b fb = (,) (a -> b -> (a, b)) -> f a -> f (b -> (a, b)) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> f a fa f (b -> (a, b)) -> f b -> f (a, b) forall a b. f (a -> b) -> f a -> f b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> f b fb {-# inline pairA #-}