[Haskell-cafe] Execution of external command

Jonathan Cast jonathanccast at fastmail.fm
Sun Dec 16 03:24:14 EST 2007


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




More information about the Haskell-Cafe mailing list