Ocamlnet 3 Reference Manual : Uq_engines.seq_engine

# Class Uq_engines.seq_engine

    class [['a, 'b]] seq_engine : 'a #engine -> ('a -> 'b #engine) -> ['b] engine

This engine runs two engines in sequential order. It is called

     let eng_s = new seq_engine eng_a f

When `eng_a` goes to the state ``Done arg`, the function `f` is called to obtain

     let eng_b = f arg

`eng_b` runs until it is also in state ``Done`.

If `eng_a` or `eng_b` go to states ``Aborted` or ``Error`, the sequential engine `eng_s` does so, too. If `eng_s` is aborted, this request will be forwarded to the currently active engine, `eng_a` or `eng_b`.

If calling `f` results in an exception, this is handled as if `eng_a` signaled an exception.