Skip to content
  • Simon Marlow's avatar
    Make hGetContents throw an exception if an error is encountered · 23c183b0
    Simon Marlow authored
    Strictly speaking this breaks Haskell 98 compatibility, which requires
    hGetContents to just end the lazy stream silently if an error is
    encountered.  However, for a few reasons we think it will make
    everyone's life a bit easier if we make this change
    
     1. Errors will be a lot more common in GHC 6.12.1, in the form
        of Unicode decoding errors.
    
     2. When Haskell 98 was designed, we didn't know how to throw
        exceptions from inside lazy I/O, but now we do.
    
     3. If anyone is actually relying on the previous behaviour, their
        code is arguably broken.
    23c183b0