Unsafe hGetContents

Simon Marlow marlowsd at gmail.com
Mon Sep 21 05:52:41 EDT 2009

On 17/09/2009 13:58, Nicolas Pouillard wrote:
> Excerpts from Florian Weimer's message of Wed Sep 16 22:17:08 +0200 2009:
>> Are there any plans to get rid of hGetContents and the semi-closed
>> handle state for Haskell Prime?
>> (I call hGetContents unsafe because it adds side effects to pattern
>> matching, stricly speaking invalidating most of the transformations
>> which are expected to be valid in a pure language.)
> Would you consider something like [1] as an acceptable replacement?
> [1]: http://hackage.haskell.org/package/safe-lazy-io

I rater like this as a workaround for the most common practical problems 
with lazy I/O, those of resource control.  It doesn't address the deeper 
concern that lazy I/O requires a particular evaluation order and is 
therefore a bit warty as a language feature - implementing lazy I/O 
properly in GHC's parallel mutator was somewhat tricky.  I'm not of the 
opinion that we should throw out lazy I/O, but it's still a problematic 
area in Haskell.


More information about the Haskell-prime mailing list