reactimate package:automaton

Run an automaton with trivial input and output indefinitely. If the input and output of an automaton does not contain information, all of its meaning is in its effects. This function runs the automaton indefinitely. Since it will never return with a value, this function also has no output (its output is void). The only way it can return is if m includes some effect of termination, e.g. Maybe or Either could terminate with a Nothing or Left value, or IO can raise an exception.
Run a stream with trivial output. If the output of a stream does not contain information, all of its meaning is in its effects. This function runs the stream indefinitely. Since it will never return with a value, this function also has no output (its output is void). The only way it can return is if m includes some effect of termination, e.g. Maybe or Either could terminate with a Nothing or Left value, or IO can raise an exception.
Run a stream with trivial output. See reactimate.
reactimates an Automaton until it returns True.
reactimates an AutomatonExcept until it throws an exception.
reactimates an Automaton in the MaybeT monad until it throws Nothing.