On 14 Dec 2007, at 1:21 AM, Jules Bean wrote:
Evan Laforge wrote:
it seems that script may be not terminated if its output isn't
read, so
better code should be
(_, h, g, _) <- runInteractiveCommand "script params"
result <- hGetLine h
hGetContents h >>= evaluate.length
hGetContents g >>= evaluate.length
Tangent here, but does anyone else think that something like
hGetContentsEagerly would be handy in System.IO?
YES!
Jules
PS we could give it a nice sensible name like hGetContents. We
could renaming the existing hGetContents to
hUnsafeGetContentsDontUseThisUnlessYouHaveSpentThreeMonthsLearningGHCs
ExecutionSemanticsOrYouWillRegretIt
On the contrary, it's great for writing filters. OTOH, using the
result of hGetContents interleaved with other IO actions feels like a
reversion to the bad old days of dialogs (which it is, of course).
jcc
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe