-- 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.4.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 Data.Traversable.Traversable Data.Applicable.ApplyTo instance Data.Foldable.Foldable Data.Applicable.ApplyTo instance GHC.Base.Functor Data.Applicable.ApplyTo instance GHC.Ix.Ix a => GHC.Ix.Ix (Data.Applicable.ApplyTo a) 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 Data.Data.Data a => Data.Data.Data (Data.Applicable.ApplyTo a) instance GHC.Generics.Generic (Data.Applicable.ApplyTo a) instance GHC.Base.Functor (Data.Applicable.ApplyMap a) instance GHC.Generics.Generic (Data.Applicable.ApplyMap a b) instance GHC.Base.Functor f => GHC.Base.Functor (Data.Applicable.ApplyAp f a) instance GHC.Generics.Generic (Data.Applicable.ApplyAp f a b) instance GHC.Base.Functor m => GHC.Base.Functor (Data.Applicable.ApplyBind m a) instance GHC.Generics.Generic (Data.Applicable.ApplyBind m a b) instance Data.Traversable.Traversable Data.Applicable.GroupAction instance Data.Foldable.Foldable Data.Applicable.GroupAction instance GHC.Base.Functor Data.Applicable.GroupAction instance GHC.Ix.Ix a => GHC.Ix.Ix (Data.Applicable.GroupAction a) 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 Data.Data.Data a => Data.Data.Data (Data.Applicable.GroupAction a) instance GHC.Generics.Generic (Data.Applicable.GroupAction a) instance GHC.Ix.Ix 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 Data.Data.Data Data.Applicable.ChurchBool instance GHC.Generics.Generic Data.Applicable.ChurchBool instance Data.Traversable.Traversable Data.Applicable.ChurchNumeral instance Data.Foldable.Foldable Data.Applicable.ChurchNumeral instance GHC.Base.Functor Data.Applicable.ChurchNumeral instance GHC.Ix.Ix a => GHC.Ix.Ix (Data.Applicable.ChurchNumeral a) 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.Data.Data a => Data.Data.Data (Data.Applicable.ChurchNumeral a) instance GHC.Generics.Generic (Data.Applicable.ChurchNumeral a) instance Data.Bifunctor.Bifunctor Data.Applicable.ChurchTuple instance Data.Traversable.Traversable (Data.Applicable.ChurchTuple a) instance Data.Foldable.Foldable (Data.Applicable.ChurchTuple a) instance GHC.Base.Functor (Data.Applicable.ChurchTuple a) instance (GHC.Ix.Ix a, GHC.Ix.Ix b) => GHC.Ix.Ix (Data.Applicable.ChurchTuple a b) 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.Data.Data a, Data.Data.Data b) => Data.Data.Data (Data.Applicable.ChurchTuple a b) instance GHC.Generics.Generic (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