* package:rio
Split the input between the two argument arrows and combine their
output. Note that this is in general not a functor.
The default definition may be overridden with a more efficient version
if desired.
Sequence actions, discarding the value of the first argument.
'
as *> bs' can be understood as the
do
expression
do as
bs
This is a tad complicated for our
ApplicativeDo extension
which will give it a
Monad constraint. For an
Applicative constraint we write it of the form
do _ <- as
b <- bs
pure b
Sequence actions, discarding the value of the second argument.
Using
ApplicativeDo: '
as <* bs' can be
understood as the
do expression
do a <- as
bs
pure a
Sequential application.
A few functors support an implementation of
<*> that is
more efficient than the default one.
Using
ApplicativeDo: '
fs <*> as' can be
understood as the
do expression
do f <- fs
a <- as
pure (f a)