Safe Haskell | None |
---|---|
Language | Haskell2010 |
Control.Applicative.Static
Synopsis
- class StaticFunctor f => StaticApply (f :: Type -> Type) where
- staticApply :: (Typeable a, Typeable b) => f (a -> b) -> f a -> f b
- class StaticApply f => StaticApplicative (f :: Type -> Type) where
- staticPure :: Typeable a => Closure a -> f a
Documentation
class StaticFunctor f => StaticApply (f :: Type -> Type) where Source #
Instances of StaticApply
should satisfy the following laws (writing
staticMap
, staticApply
as infix (
, <$>
)(
, respectively):<*>
)
static (.)<$>
u<*>
v<*>
w = u<*>
(v<*>
w) x<*>
(f<$>
y) = (static (flip (.))`cap`
f)<$>
x<*>
y f<$>
(x<*>
y) = (static (.)`cap`
f)<$>
x<*>
y
Methods
staticApply :: (Typeable a, Typeable b) => f (a -> b) -> f a -> f b Source #
Instances
StaticApply Closure Source # | |
Defined in Control.Applicative.Static |
class StaticApply f => StaticApplicative (f :: Type -> Type) where Source #
Methods
staticPure :: Typeable a => Closure a -> f a Source #
Instances
StaticApplicative Closure Source # | |
Defined in Control.Applicative.Static |