A library for interacting with system processes in a streaming fashion.
The basic goals:
Concurrent, streaming access to stdin, stdout and stderr…
…all the while preventing deadlocks caused by mishandling of the streams.
Facilitate the use of sum types to signal failures, when desired.
No fussing around with process handles: wait for the process by waiting for the IO action, terminate the process by killing the thread executing the IO action.
A relevant thread in the Haskell Pipes Google Group.
Possible alternatives in Hackage
- turtle (pipes-based, shell programming)
- pipes-cliff (pipes-based)
- pipes-shell (pipes-based)
- shelly (shell programming)
- shell-conduit (coundit-based, shell programming)
- Data.Conduit.Process from conduit-extra (conduit-based)
- System.IO.Streams.Process from io-streams (iostreams-based)