A functor with application. It can combine sequence computations with apply or liftA2 function.
apply
liftA2
All instances of the applicative a must satisfy the following laws:
a
x
a.apply(a.pure((i) => i))(x)
y
z
a.apply(a.apply(a.apply(a.pure((f) => (g) => (i) => f(g(i))))(x))(y))(z)
a.apply(x)(a.apply(y)(z))
f
a.apply(a.pure(f))(a.pure(x))
a.pure(f(x))
a.apply(f)(a.pure(x))
a.apply(a.pure((i) => i(x)))(f)
A functor with application. It can combine sequence computations with
applyorliftA2function.All instances of the applicative
amust satisfy the following laws:x;a.apply(a.pure((i) => i))(x)equals tox,x,yandz;a.apply(a.apply(a.apply(a.pure((f) => (g) => (i) => f(g(i))))(x))(y))(z)equals toa.apply(x)(a.apply(y)(z)),fandx;a.apply(a.pure(f))(a.pure(x))equals toa.pure(f(x)),fandx;a.apply(f)(a.pure(x))equals toa.apply(a.pure((i) => i(x)))(f).