block, but its result is not bound.
The flags <literal>-fwarn-unused-do-bind</literal>
and <literal>-fwarn-wrong-do-bind</literal> control
- these warnings.
- </para>
- </listitem>
-
- <listitem>
- <para>
- There is a new warning if a monadic result of type other than
- <literal>m ()</literal> is not bound.
- The flag <literal>-fwarn-unused-do-bind</literal> controls
- this warning.
+ these warnings (see <xref linkend="options-sanity" />).
</para>
</listitem>
</para>
</listitem>
- <listierm>
+ <listitem>
<para>
There is a new command <literal>ghc-pkg init</literal> to
create a package database.
</para>
- </listierm>
+ </listitem>
- <listierm>
+ <listitem>
<para>
There is a new command <literal>ghc-pkg dot</literal> to
generate a GraphViz graph of the dependencies between
installed packages.
</para>
- </listierm>
+ </listitem>
<listitem>
<para>
<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.