-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Various type-level operators -- -- A set of type-level operators meant to be helpful, e.g. ($) and a -- tightly binding (->). @package type-operators @version 0.1.0.2 -- | A collection of type-level operators. module Control.Type.Operator -- | A tightly binding version of -> that lets you strip -- parentheses from function types in certain spots. Example: -- --
-- f :: Maybe Int ^> String -- = -- f :: Maybe (Int -> Int) --type (^>) = (->) -- | A flipped ^>. -- --
-- f :: Maybe String <^ Int ---- -- Note: this is not partially applied like ^> and -- ->. type (<^) a b = (^>) b a -- | Infix application. -- --
-- f :: Either String $ Maybe Int -- = -- f :: Either String (Maybe Int) --type ($) f a = f a -- | A flipped $. -- --
-- f :: Maybe Int & Maybe -- = -- f :: Maybe (Maybe Int) --type (&) a f = f a -- | Infix application that takes a two arguments rather than just one. -- --
-- f :: Either $$ Int ^> Int $ Int -- = -- f :: Either (Int -> Int) Int --type ($$) f a b = f a b -- | Map several constraints over a single variable. -- --
-- a :: [Show, Read] <+> a => a -> a -- = -- a :: (Show a, Read a) => a -> a ---- | Map a constraint over several variables. -- --
-- a :: Show <=> [a, b] => a -> b -> String -- = -- a :: (Show a, Show b) => a -> b -> String --instance forall k (a :: k). Control.Type.Operator.Empty a