Reverse function application, argument first.
Example
:kind! Eval ('(True, Nothing) & Fst)Eval ('(True, Nothing) & Fst) :: Bool= True
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27
Modulefirst-class-families-0.8.1.0Haskell2010
Simple combinators for functions.
Reverse function application, argument first.
:kind! Eval ('(True, Nothing) & Fst)Eval ('(True, Nothing) & Fst) :: Bool= True
Lift a binary function to the domain of a projection.
:kind! Eval (((&&) `On` Fst) '(True, Nothing) '(False, Just '()))Eval (((&&) `On` Fst) '(True, Nothing) '(False, Just '())) :: Bool= False
data Bicomap (f :: a -> Exp c) (g :: b -> Exp d) (h :: c -> d -> Exp e) (i :: a) (j :: b) (k :: e)Pre-compose a binary function with a function for each argument.
:kind! Eval (Bicomap Fst Pure (||) '(False, Nothing) True)Eval (Bicomap Fst Pure (||) '(False, Nothing) True) :: Bool= True