-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A class for things that can be applied -- -- A class for things that can be applied, and utility newtypes @package applicable @version 0.2.0.0 -- | The Applicable class with its operator ($*). You will -- likely need the FlexibleContexts extension to use this -- module’s instances. module Data.Applicable -- | A class for types whose values can be applied. Instances are required -- to be uniquely determined by the applied and applied-to type. class Applicable f a b | f a -> b -- | Apply a value to another value, producing a result. ($*) :: Applicable f a b => f -> a -> b -- | A wrapper for values. Can be applied to a function (->), -- applying the function to the inner value. newtype ApplyTo a AppTo :: a -> ApplyTo a [unAppTo] :: ApplyTo a -> a -- | A wrapper for functions. Can be applied to a Functor, -- fmap-ing the function over the inner values. newtype ApplyMap a b AppMap :: (a -> b) -> ApplyMap a b [unAppMap] :: ApplyMap a b -> a -> b -- | A wrapper for functions in an applicative functor. Can be applied to -- an Applicative functor, (<*>)-ing it on it. newtype ApplyAp f a b AppAp :: f (a -> b) -> ApplyAp f a b [unAppAp] :: ApplyAp f a b -> f (a -> b) -- | A wrapper for Kleisli arrows. Can be applied to a Monad, -- (>>=)-ing it on it. newtype ApplyBind m a b AppBind :: (a -> m b) -> ApplyBind m a b [unAppBind] :: ApplyBind m a b -> a -> m b -- | A wrapper for Semigroup members, representing the associated -- group action. Can be applied to another member, (<>)-ing -- them. newtype GroupAction a GrpAct :: a -> GroupAction a [unGrpAct] :: GroupAction a -> a -- | A wrapper for Bools. When applied to a value, uses the Church -- encoding of Booleans. The Church encoding of Booleans is a binary -- function that returns its first argument for True, and its -- second for False. newtype ChurchBool ChBool :: Bool -> ChurchBool [unChBool] :: ChurchBool -> Bool -- | A wrapper for natural numbers (Approximated by Integral). When -- applied to a value, uses the Church encoding of natural numbers. -- Church numerals represent the number _n_ as a function that take -- another function and repeatedly applies it _n_ times. newtype ChurchNumeral a ChNum :: a -> ChurchNumeral a [unChNum] :: ChurchNumeral a -> a -- | A wrapper for tuples (,). When applied to a value, uses the -- Church encoding of tuples. The Church encoding of tuples applies a -- function to the values inside a tuple. newtype ChurchTuple a b ChTup :: (a, b) -> ChurchTuple a b [unChTup] :: ChurchTuple a b -> (a, b) instance GHC.Base.Functor Data.Applicable.ApplyTo instance GHC.Read.Read a => GHC.Read.Read (Data.Applicable.ApplyTo a) instance GHC.Show.Show a => GHC.Show.Show (Data.Applicable.ApplyTo a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Applicable.ApplyTo a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Applicable.ApplyTo a) instance GHC.Base.Functor (Data.Applicable.ApplyMap a) instance GHC.Base.Functor f => GHC.Base.Functor (Data.Applicable.ApplyAp f a) instance GHC.Base.Functor m => GHC.Base.Functor (Data.Applicable.ApplyBind m a) instance GHC.Base.Functor Data.Applicable.GroupAction instance GHC.Read.Read a => GHC.Read.Read (Data.Applicable.GroupAction a) instance GHC.Show.Show a => GHC.Show.Show (Data.Applicable.GroupAction a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Applicable.GroupAction a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Applicable.GroupAction a) instance GHC.Enum.Bounded Data.Applicable.ChurchBool instance GHC.Enum.Enum Data.Applicable.ChurchBool instance GHC.Read.Read Data.Applicable.ChurchBool instance GHC.Show.Show Data.Applicable.ChurchBool instance GHC.Classes.Ord Data.Applicable.ChurchBool instance GHC.Classes.Eq Data.Applicable.ChurchBool instance GHC.Base.Functor Data.Applicable.ChurchNumeral instance GHC.Read.Read a => GHC.Read.Read (Data.Applicable.ChurchNumeral a) instance GHC.Show.Show a => GHC.Show.Show (Data.Applicable.ChurchNumeral a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Applicable.ChurchNumeral a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Applicable.ChurchNumeral a) instance Data.Bifunctor.Bifunctor Data.Applicable.ChurchTuple instance GHC.Base.Functor (Data.Applicable.ChurchTuple a) instance (GHC.Read.Read a, GHC.Read.Read b) => GHC.Read.Read (Data.Applicable.ChurchTuple a b) instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (Data.Applicable.ChurchTuple a b) instance (GHC.Classes.Ord a, GHC.Classes.Ord b) => GHC.Classes.Ord (Data.Applicable.ChurchTuple a b) instance (GHC.Classes.Eq a, GHC.Classes.Eq b) => GHC.Classes.Eq (Data.Applicable.ChurchTuple a b) instance Data.Applicable.Applicable (Data.Applicable.ChurchTuple a b) (a -> b -> c) c instance GHC.Real.Integral a => Data.Applicable.Applicable (Data.Applicable.ChurchNumeral a) (a -> a) (a -> a) instance Data.Applicable.Applicable Data.Applicable.ChurchBool a (a -> a) instance GHC.Base.Semigroup a => Data.Applicable.Applicable (Data.Applicable.GroupAction a) a a instance GHC.Base.Monad m => Data.Applicable.Applicable (Data.Applicable.ApplyBind m a b) (m a) (m b) instance GHC.Base.Applicative f => Data.Applicable.Applicable (Data.Applicable.ApplyAp f a b) (f a) (f b) instance GHC.Base.Functor f => Data.Applicable.Applicable (Data.Applicable.ApplyMap a b) (f a) (f b) instance Data.Applicable.Applicable (Data.Applicable.ApplyTo a) (a -> b) b instance Data.Applicable.Applicable (a -> b) a b