val arr : ('input -> 'result) -> ('input, 'result, _, _) t
arr
is the same as pure
.
val first : ('input, 'result, 'incr, 'event) t -> ('input * 'a, 'result * 'a, 'incr, 'event) t
first t
applies t
to the first part of the input.
val second : ('input, 'result, 'incr, 'event) t -> ('a * 'input, 'a * 'result, 'incr, 'event) t
second t
applies t
to the second part of the input.
val split : ('i1, 'r1, 'incr, 'event) t -> ('i2, 'r2, 'incr, 'event) t -> ('i1 * 'i2, 'r1 * 'r2, 'incr, 'event) t
split t u
applies t
to the first part of the input and u
to the second part.
val (***) : ('i1, 'r1, 'incr, 'event) t -> ('i2, 'r2, 'incr, 'event) t -> ('i1 * 'i2, 'r1 * 'r2, 'incr, 'event) t
t *** u = split t u
.
val fanout : ('input, 'r1, 'incr, 'event) t -> ('input, 'r2, 'incr, 'event) t -> ('input, 'r1 * 'r2, 'incr, 'event) t
fanout t u
applies t
and u
to the same input and returns both results. It's actually just both
.
val (&&&) : ('input, 'r1, 'incr, 'event) t -> ('input, 'r2, 'incr, 'event) t -> ('input, 'r1 * 'r2, 'incr, 'event) t
t &&& u = fanout t u
.
val (^>>) : ('i1 -> 'i2) -> ('i2, 'result, 'incr, 'event) t -> ('i1, 'result, 'incr, 'event) t
^>>
is the same as @>>
, but with a Haskell-like name.
val (>>^) : ('input, 'r1, 'incr, 'event) t -> ('r1 -> 'r2) -> ('input, 'r2, 'incr, 'event) t
>>^
is the same as >>|
, but with a Haskell-like name.
val partial_compose_first : ('input, 'shared * 'output1, 'incr, 'event) t -> ('input * 'shared, 'output2, 'incr, 'event) t -> ('input, 'output1 * 'output2, 'incr, 'event) t
Composes two components where one of the outputs of the first component is one of the inputs to the second.
val pipe : ('input, 'r1, 'incr, 'event) t -> into:('intermediate, 'r2, 'incr, 'event) t -> via:('input -> 'r1 -> 'intermediate) -> finalize:('input -> 'r1 -> 'r2 -> 'r3) -> ('input, 'r3, 'incr, 'event) t