process-streaming

Streaming interface to system processes.

Version on this page:0.9.1.2
LTS Haskell 6.35:0.9.1.2
Stackage Nightly 2016-05-25:0.9.1.2
Latest on Hackage:0.9.3.0

See all snapshots process-streaming appears in

BSD-3-Clause licensed by Daniel Díaz Carrete
Maintained by [email protected]

Module documentation for 0.9.1.2

This version can be pinned in stack with:[email protected]:9e6a5b90dbca8dc96293b037875c420082d5664bda98a08d0c5d9a05340479fe,3335

process-streaming

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.

  • Easy integration with consumers from pipes, parsers from pipes-parse and folds from foldl.

  • 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)

http://hackage.haskell.org/package/turtle

  • pipes-cliff (pipes-based)

http://hackage.haskell.org/package/pipes-cliff

  • pipes-shell (pipes-based)

http://hackage.haskell.org/package/pipes-shell

  • shelly (shell programming)

http://hackage.haskell.org/package/shelly

  • shell-conduit (coundit-based, shell programming)

http://hackage.haskell.org/package/shell-conduit

  • Data.Conduit.Process from conduit-extra (conduit-based)

http://hackage.haskell.org/package/conduit-extra

  • System.IO.Streams.Process from io-streams (iostreams-based)

http://hackage.haskell.org/package/io-streams

  • process-extras

http://hackage.haskell.org/package/process-extras