Applicative
0.40.0
Definitions
def
*>
[mab]
(
ma :
m[a]
mb :
m[b]
)
: m[b]
\ Pure
with
Applicative[m]
*>
is an operator alias for productRight
.
def
<*
[mab]
(
ma :
m[a]
mb :
m[b]
)
: m[a]
\ Pure
with
Applicative[m]
<*
is an operator alias for productLeft
.
def
<**>
[maefb]
(
ma :
m[a]
mf :
m[a -> b \ ef]
)
: m[b]
\ ef
with
Applicative[m]
<**>
is a variant of the operator <*>
with its arguments flipped.
The order of evaluation is ma
then mf
.
def
<*>
[maefb]
(
mf :
m[a -> b \ ef]
ma :
m[a]
)
: m[b]
\ ef
with
Applicative[m]
<*>
is an operator alias for ap
.
def
product
[mab]
(
fa :
m[a]
fb :
m[b]
)
: m[(a, b)]
\ Pure
with
Applicative[m]
Chain two applicative actions, returns the product of their results.
def
product3
[mt1t2t3]
(
x1 :
m[t1]
x2 :
m[t2]
x3 :
m[t3]
)
: m[(t1, t2, t3)]
\ Pure
with
Applicative[m]
Chain three applicative actions, return the 3-tuple of their results.
def
product4
[mt1t2t3t4]
(
x1 :
m[t1]
x2 :
m[t2]
x3 :
m[t3]
x4 :
m[t4]
)
: m[(t1, t2, t3, t4)]
\ Pure
with
Applicative[m]
Chain four applicative actions, return the 4-tuple of their results.
def
product5
[mt1t2t3t4t5]
(
x1 :
m[t1]
x2 :
m[t2]
x3 :
m[t3]
x4 :
m[t4]
x5 :
m[t5]
)
: m[(t1, t2, t3, t4, t5)]
\ Pure
with
Applicative[m]
Chain five applicative actions, return the 5-tuple of their results.
def
productLeft
[mab]
(
fa :
m[a]
fb :
m[b]
)
: m[a]
\ Pure
with
Applicative[m]
Chain two applicative actions, return only the result of the first.
def
productRight
[mab]
(
fa :
m[a]
fb :
m[b]
)
: m[b]
\ Pure
with
Applicative[m]
Chain two applicative actions, return only the result of the second.