netwire-2.0.1: Generic automaton arrow transformer and useful tools

MaintainerErtugrul Soeylemez <>




Wires for splitting and terminating computations.


Simple splitters

fork :: (ArrowChoice >~, ArrowPlus >~, Monoid e) => Wire e >~ [b] bSource

Takes the input list and forks the wire for each value. Also forks a single inhibiting wire. Warning: Incorrect usage will cause space leaks! Use with care!

  • Depends: Current instant
  • Inhibits: Always in one thread, never in all others.
  • Threads: Length of input list + 1.

Simple terminators

quit :: ArrowZero >~ => Wire e >~ a bSource

Terminates the current wire with no output.

  • Threads: None.

quitWith :: ArrowZero >~ => Wire e >~ b bSource

Terminates the current wire thread with the given input value as the last output.

  • Depends: Current instant.
  • Threads: 1, then none.