Make.Lift
Lifts functions into the monad.
A function that operates on values can be mapped to a function that operates on computations. We provide several liftes for common arities.
val nullary : 'a -> 'a T1(T)(M).t
nullary x
lifts x
(a synonym to return
)
val unary : ('a -> 'b) -> 'a T1(T)(M).t -> 'b T1(T)(M).t
unary f
lifts f
val binary :
('a -> 'b -> 'c) ->
'a T1(T)(M).t ->
'b T1(T)(M).t ->
'c T1(T)(M).t
binary f
lifts f
val ternary :
('a -> 'b -> 'c -> 'd) ->
'a T1(T)(M).t ->
'b T1(T)(M).t ->
'c T1(T)(M).t ->
'd T1(T)(M).t
ternary f
lifts f
val quaternary :
('a -> 'b -> 'c -> 'd -> 'e) ->
'a T1(T)(M).t ->
'b T1(T)(M).t ->
'c T1(T)(M).t ->
'd T1(T)(M).t ->
'e T1(T)(M).t
quaternary f
lifts f
val quinary :
('a -> 'b -> 'c -> 'd -> 'e -> 'f) ->
'a T1(T)(M).t ->
'b T1(T)(M).t ->
'c T1(T)(M).t ->
'd T1(T)(M).t ->
'e T1(T)(M).t ->
'f T1(T)(M).t
quinary f
lifts f