Giter VIP home page Giter VIP logo

pipes-cliff's Introduction

pipes-cliff

pipes-cliff helps you spawn subprocesses and send data to and from them with the Pipes library. Subprocesses are opened using the process library, and the processes and handles are properly cleaned up even if there are exceptions.

Though this library uses the Pipes library, I have not coordinated with the author of the Pipes library in any way. Any bugs or design flaws are mine and should be reported to

http://www.github.com/massysett/pipes-cliff/issues

Though I hope pipes-cliff works on Windows systems, I have only tested it on Unix-like systems. Any reports on how this library works on Windows are appreciated.

Building pipes-cliff

If you get the files from Hackage, just build them in the usual way using cabal-install.

To build the files from Github, you will need to generate the Cabal file. The Cabal file is generated using the Cartel package, so first run

cabal install cartel

and then, from the main directory (the one with the generate script), run

sh generate

(at least, this is how you would do it on a Unix-like system.)

If you are having trouble getting pipes-cliff to build, examine the build history here:

Build Status

Previous builds will show you the dependencies that were used in the past to build the library.

Why the name?

It's named after Cliff Clavin, the mailman on the TV show Cheers. pipes-cliff uses mailboxes to send information to and from subprocesses.

The obvious name, pipes-process, has already been taken. At the time of this writing, I saw at least two libraries with this name, though neither was posted to Hackage.

Similar libraries

Take a look at these other libraries; they might meet your needs.

Dealing specifically with subprocesses and streaming

  • process-streaming

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

  • pipes-shell

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

  • Data.Conduit.Process

https://www.fpcomplete.com/user/snoyberg/library-documentation/data-conduit-process

Larger scripting frameworks

  • HSH

https://hackage.haskell.org/package/HSH

  • Turtle

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

  • Shelly

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

Also, look at this discussion on the Pipes mailing list:

https://groups.google.com/d/msg/haskell-pipes/JFfyquj5HAg/Lxz7p50JOh4J

pipes-cliff's People

Contributors

massysett avatar

Watchers

 avatar

Forkers

sorki

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.