Pipeline.Make
Concrete pipelines.
An operator from values of type 'a
to value sof type 'b
, and where a state value of type 'st
is carried throughout.
The type of pipelines from values of type 'a
to values of type 'b
, with state values of type 'st
.
Merge function used at the end of a fixpoint to get the resulting state.
Type used to fixpoint expanding statements such as includes.
Type used for continuation operators, allowing to leave the pipeline early.
Exception continuation to provide when evaluating a pipeline manually, in order to evaluate an exception handler with the most up-to-date state.
val op : ?name:string -> ('st -> 'a -> 'st * 'b) -> ('st, 'a, 'b) op
Base constructor function for operators.
val apply : ?name:string -> ('a -> 'b) -> (_, 'a, 'b) op
Create an operator from a function
val iter_ : ?name:string -> ('a -> unit) -> (_, 'a, 'a) op
Perform the function's side-effect and return the same input.
val f_map :
?name:string ->
?test:('st -> 'a -> bool) ->
('st -> 'a -> 'st * 'b) ->
('st, 'a, ('a, 'b) cont) op
TODO: doc
val _end : (_, 'a, 'a) t
Add an operator at the beginning of a pipeline.
Add a continuation operator, allowing to stop evaluation of the pipeline early.
Concatenate two pipeline. Whenever possible it is best to use (@>>>)
, which creates tail-rec pipelines.
Perform a fixpoint expansion
Evaluate a pipeline to a function.