Skip to content

Early termination, completion and multiplexed transductions

Christophe Grand edited this page Oct 6, 2016 · 1 revision

Multiplexed transductions (or transduction contexts) are transductions that are run in parallel and share the same downstream rf.

What should happen when rf terminates early (returns a Reduced)?

Should the ongoing transductions be given the opportunity to complete? Given that completion is not guaranteed to happen in some contexts (sequence and channel for example), it's reasonable to assume that it's not used for resource management or IO. The only actions that could occur during completion are calls to rf but rf is "done". Counterintuitively ongoing transductions should not be completed.

Is it safe to call a step arity on a terminated rf? It should be but xforms should protect against bad impls.