Plasma GitLab Archive
Projects Blog Knowledge

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.


This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml