Jules Bean wrote:
Marc Weber wrote:

On Tue, Sep 23, 2008 at 01:37:56PM +0200, Janis Voigtlaender wrote:

 Hi,

 assume I have a program taking input from stdin. How do I call it from
 Haskell while feeding to it a string as input.


Sure, have a look at http://hackage.haskell.org/packages/archive/process/1.0.0.0/doc/html/System-Process.html#v:runInteractiveProcess

        rnuInteractiveCommand does would you want
        (in,out,err,pId) <- runInteractiveProcess "cat" ...
        hPutStrLn "test" in
        hClose in
        outContents <- hGetContents out
        print outContents


Beware. The above code is broken.

Whether it appears to work depends on your OS, buffering settings, and the size of any underlying buffers.

Thanks for the warning. I needed it only for a small scripting task, and
it seems to work well enough. Actually, I am not even interested in the
output, so I just went for waitForProcess. This comes with additional
warnings in the docs, but I did not experience any problems in my
concrete setting so far.

Ciao, Janis.

--
Dr. Janis Voigtlaender
http://wwwtcs.inf.tu-dresden.de/~voigt/
mailto:[EMAIL PROTECTED]


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to