concat-plugin-0.3.0.0: GHC plugin for compiling to categories
Safe HaskellSafe-Inferred
LanguageHaskell2010

ConCat.Translators

Description

Various functions to ease syntax construction from the plugin

Documentation

appT :: forall a b c. (a -> b -> c) -> (a -> b) -> a -> c Source #

casePairTopT :: forall b c d. (b :* c) -> (b -> c -> d) -> d Source #

casePairT :: forall a b c d. (a -> b :* c) -> (a -> b -> c -> d) -> a -> d Source #

uncurryC :: (a -> b -> c) -> (a :* b) -> c Source #

casePairQT :: forall a b c d. (a -> b :* c) -> (b -> c -> d) -> a -> d Source #

casePairLT :: forall a b c d. (a -> b :* c) -> (a -> b -> d) -> a -> d Source #

casePairRT :: forall a b c d. (a -> b :* c) -> (a -> c -> d) -> a -> d Source #

type Strong h = (Zip h, Pointed h) Source #

strength :: (Zip h, Pointed h) => (a :* h b) -> h (a :* b) Source #

fmapT1 :: forall h a b c. Strong h => (a -> b -> c) -> a -> h b -> h c Source #

fmapT2 :: forall h a b c. (Zip h, Pointed h) => (a -> b -> c) -> (a -> h b) -> a -> h c Source #

flipForkT :: forall k z a b. (IxProductCat k ((->) a), Ok2 k z b) => (z -> a -> b) -> z `k` (a -> b) Source #

forkUnforkT :: forall k h a b. (IxProductCat (->) h, Functor h, IxProductCat k h, Ok2 k a b) => (a -> h b) -> a `k` h b Source #

castConstT :: forall k a b b'. (ConstCat k b', Ok k a, Coercible b b') => b -> a `k` b' Source #

bottomT :: forall k a b. (Category k, TerminalCat k, BottomCat k () b, Ok2 k a b) => a `k` b Source #