-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Template Haskell to automatically pass values to functions -- -- See readme.md @package autoapply @version 0.4 module AutoApply -- | autoapply argsSubsuming argsUnifying fun creates an -- expression which is equal to fun applied to as many of the -- values in argsSubsuming and argsUnifying as -- possible. -- -- The types of first list of args must subsume the type of the argument -- they're passed to. The types of the second list must merely unify. autoapply :: [Name] -> [Name] -> Name -> Q Exp -- | autoapplyDecs mkName argsSubsuming argsUnifying funs will -- wrap every function in funs by applying it to as many of the -- values in argsSubsuming and argsUnifying as -- possible. The new function name will be mkName applied to the -- wrapped function name. -- -- The types of first list of args must subsume the type of the argument -- they're passed to. The types of the second list must merely unify. -- -- Type signatures are not generated, so you may want to add these -- yourself or turn on NoMonomorphismRestriction if you have -- polymorphic constraints. autoapplyDecs :: (String -> String) -> [Name] -> [Name] -> [Name] -> Q [Dec] instance Data.Traversable.Traversable AutoApply.TypeF instance Data.Foldable.Foldable AutoApply.TypeF instance GHC.Base.Functor AutoApply.TypeF instance GHC.Show.Show a => GHC.Show.Show (AutoApply.TypeF a) instance GHC.Show.Show AutoApply.ArgProvenance instance GHC.Show.Show AutoApply.Function instance GHC.Show.Show AutoApply.Given instance GHC.Show.Show AutoApply.UnificationType instance Control.Unification.Types.Unifiable AutoApply.TypeF