summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-10-12 15:42:13 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-10-12 15:42:13 +0000
commit0e1c226ee99011d9af202de78e2a7a37511f4b72 (patch)
treec005c2826d0805bcfbb0119be70397c4801f8b75 /docs
parent8a1f533adf691a008ba2ffd0487f9b9254517020 (diff)
downloadhaskell-0e1c226ee99011d9af202de78e2a7a37511f4b72.tar.gz
Document that lazy I/O now throws exceptions
Diffstat (limited to 'docs')
-rw-r--r--docs/users_guide/6.12.1-notes.xml13
-rw-r--r--docs/users_guide/bugs.xml24
2 files changed, 28 insertions, 9 deletions
diff --git a/docs/users_guide/6.12.1-notes.xml b/docs/users_guide/6.12.1-notes.xml
index f1d1ed5c7b..9e0ecbfbf8 100644
--- a/docs/users_guide/6.12.1-notes.xml
+++ b/docs/users_guide/6.12.1-notes.xml
@@ -692,6 +692,19 @@ ghc --abi-hash M1 M2 ...
<listitem>
<para>
+ Lazy I/O now throws an exception if an error is
+ encountered, in a divergence from the Haskell 98 spec which
+ requires that errors are discarded (see Section 21.2.2 of
+ the Haskell 98 report). The exception thrown is the usual
+ IO exception that would be thrown if the failing IO
+ operation was performed in the IO monad, and can be caught
+ by <literal>System.IO.Error.catch</literal>
+ or <literal>Control.Exception.catch</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
It is now possible to create your own handles.
For more information, see the
<literal>GHC.IO.Handle</literal> haddock docs.
diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml
index 7fd47c9a20..6e25e68d14 100644
--- a/docs/users_guide/bugs.xml
+++ b/docs/users_guide/bugs.xml
@@ -192,15 +192,21 @@ checking for duplicates. The reason for this is efficiency, pure and simple.
</listitem>
</varlistentry>
- <varlistentry>
- <term>Strings treated as ISO-8859-1</term>
- <listitem>
- <para>
- Various library functions, such as <literal>putStrLn</literal>,
- treat Strings as if they were ISO-8859-1 rather than UTF-8.
- </para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><literal>hGetContents</literal></term>
+ <listitem>
+ <para>
+ Lazy I/O throws an exception if an error is
+ encountered, in contrast to the Haskell 98 spec which
+ requires that errors are discarded (see Section 21.2.2
+ of the Haskell 98 report). The exception thrown is
+ the usual IO exception that would be thrown if the
+ failing IO operation was performed in the IO monad, and can
+ be caught by <literal>System.IO.Error.catch</literal>
+ or <literal>Control.Exception.catch</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</sect3>
</sect2>