-- 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.3 -- | 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 -> String)
--   
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
--