A wrapper of type W
that contains zero or more elements of type a
.
A function named functionname
that takes a value of type a
, a value of type b
and returns a value of type c
.
A function named F
that takes a value of type a
and returns a value of type b
.
This is notation is equivalent to b F(a)
, but is used whenever we pass a function as a parameter.
W<b> fmap(W<a>,F<a,b>)
W<a> pure(a)
W<F<a,b>> pure(F<a,b>)
W<b> compose(W<a>,W<F<a,b>>)
W<a> return(a)
W<F<a,b>> return(F<a,b>)
W<b> bind(W<a>,F<a,W<b>>)
Note: Applicative.pure = Monad.return