----------------------------------------------------------------------------- -- | -- Module : Control.Bifunctor.HigherOrder -- Copyright : (C) 2008 Edward Kmett -- License : BSD-style (see the file LICENSE) -- -- Maintainer : Edward Kmett -- Stability : experimental -- Portability : non-portable (rank-2 polymorphism) -- ---------------------------------------------------------------------------- module Control.Bifunctor.HigherOrder where import Control.Bifunctor import Control.Functor.Extras {- type BiNatural p q = forall a b. p a b -> q a b class HBifunctor p where fbimap :: Bifunctor q => (a -> b) -> (c -> d) -> p q a c -> p q b d hbimap :: BiNatural g h -> BiNatural (p g) (p h) newtype MuHB p a b = InHB { outHB :: p (MuHB p) a b } type NuHB p a b = MuHB p a b -}