
On Nov 5, 2007 2:41 PM, Graham Fawcett
On Nov 5, 2007 1:46 PM, Maurício
wrote: Hi,
Is there a way to run 'ghc -e' taking input from standard input? I would like to use it in a pipe.
It seems to me that you can use getContents, et. al., as you would from any other Haskell program:
$ echo hello there mauricio | ghc -e "print =<< (Control.Monad.liftM (reverse . words)) getContents" ["mauricio","there","hello"]
hm, which raises the question of exactly what Maurício meant. Maurício, if you mean you want to do ghc -e "some code which gets its data from standard input", then Graham's solution is exactly what you want. If you mean you want to have ghc -e run some code which itself comes from standard input, then you want xargs (just do a man xargs to see how to use it). In retrospect I'm guessing that Graham answered your real question...? =) -Brent