[Haskell-cafe] Standard output of exec

Michael Snoyman michael at snoyman.com
Thu Dec 11 09:18:31 UTC 2014


You can use readProcess[1], but it has some downsides:

1. Can't specify all options to CreateProcess, e.g., working directory and
environment variables.
2. Relies on lazy I/O

I use Data.Conduit.Process[2] for this kind of thing, which has a full
tutorial[3]. However, it *does* involve non-base dependencies.

[1]
http://www.stackage.org/haddock/2014-12-10-ghc78-exc/process-1.2.0.0/System-Process.html#v:readProcess
[2]
http://www.stackage.org/haddock/2014-12-10-ghc78-exc/conduit-extra-1.1.4.2/Data-Conduit-Process.html
[3]
https://www.fpcomplete.com/user/snoyberg/library-documentation/data-conduit-process?show=tutorials

On Thu Dec 11 2014 at 11:11:12 AM Ernesto Rodriguez <neto at netowork.me>
wrote:

> Dear All,
>
> I have a program which invokes an external program via exec. I wish to
> capture the standard output of the program without using external
> (temporary) files. Is it possible to create an in memory handle which I can
> tell exec to use as standard output of the invoked program. It would be
> great if it can be done without any extra dependencies.
>
> Best,
>
> --
> Ernesto Rodriguez
>
> Masters Student
> Computer Science
> Utrecht University
>
> www.netowork.me
> github.com/netogallo
>
>
>  _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20141211/b9507760/attachment.html>


More information about the Haskell-Cafe mailing list