+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="release-5-00">
<title>Release notes for version 5.00 (April 2001)</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="release-5-04">
<title>Release notes for version 5.04</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="release-5-04">
<title>Release notes for version 5.04</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="release-6-0">
<title>Release notes for version 6.0</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
TOP = ../..
include $(TOP)/mk/boilerplate.mk
-SGML_DOC = users_guide
-INSTALL_SGML_DOC = users_guide
-
-# Generating index is semi-automatic, you need to:
-#
-# make users_guide.dvi ; make index ; make users_guide.dvi
-#
-# To work, it depends on you tweaking
-#
-# lib/sgml-tools/dist/sgmltool/latex2e/mapping
-#
-# to instead of saying
-#
-# </article> + "\\end{document}" +
-#
-# say
-#
-# </article> + "\\InputIfFileExists{index}{}{}"
-# "\\end{document}" +
-#
-# That partially works around the problem, if nothing else.
-#
-index : users_guide.dvi
- makeindex users_guide
- @$(RM) $@
- $(CP) users_guide.ind $@
- $(RM) users_guide.dvi
-
+XML_DOC = users_guide
+INSTALL_XML_DOC = users_guide
include $(TOP)/mk/target.mk
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="bugs-and-infelicities">
<title>Known bugs and infelicities</title>
<variablelist>
<varlistentry>
- <term>The <literal>Char</literal> type</term>
- <indexterm><primary><literal>Char</literal></primary><secondary>size
- of</secondary></indexterm>
+ <term>
+ The <literal>Char</literal> type
+ <indexterm><primary><literal>Char</literal></primary><secondary>size of</secondary></indexterm>
+ </term>
<listitem>
<para>Following the ISO-10646 standard,
<literal>maxBound :: Char</literal> in GHC is
</varlistentry>
<varlistentry>
- <term>Sized integral types</term>
- <indexterm><primary><literal>Int</literal></primary><secondary>size of</secondary>
- </indexterm>
-
+ <term>
+ Sized integral types
+ <indexterm><primary><literal>Int</literal></primary><secondary>size of</secondary></indexterm>
+ </term>
<listitem>
<para>In GHC the <literal>Int</literal> type follows the
size of an address on the host architecture; in other words
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="options-debugging">
<title>Debugging the compiler</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="faq">
<title>GHC FAQ</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<!-- FFI docs as a chapter -->
<chapter id="ffi">
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="flag-reference">
<title>Flag reference</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="ghci">
<title>Using GHCi</title>
<indexterm><primary>GHCi</primary></indexterm>
<variablelist>
<varlistentry>
- <term><literal>:add</literal>
- <replaceable>module</replaceable> ...</term>
- <indexterm><primary><literal>:add</literal></primary></indexterm>
+ <term>
+ <literal>:add</literal> <replaceable>module</replaceable> ...
+ <indexterm><primary><literal>:add</literal></primary></indexterm>
+ </term>
<listitem>
<para>Add <replaceable>module</replaceable>(s) to the
current <firstterm>target set</firstterm>, and perform a
</varlistentry>
<varlistentry>
- <term><literal>:browse</literal>
- <optional><literal>*</literal></optional><replaceable>module</replaceable>
- ...</term>
- <indexterm><primary><literal>:browse</literal></primary>
- </indexterm>
+ <term>
+ <literal>:browse</literal> <optional><literal>*</literal></optional><replaceable>module</replaceable> ...
+ <indexterm><primary><literal>:browse</literal></primary></indexterm>
+ </term>
<listitem>
<para>Displays the identifiers defined by the module
<replaceable>module</replaceable>, which must be either
</varlistentry>
<varlistentry>
- <term><literal>:cd</literal> <replaceable>dir</replaceable></term>
- <indexterm><primary><literal>:cd</literal></primary></indexterm>
+ <term>
+ <literal>:cd</literal> <replaceable>dir</replaceable>
+ <indexterm><primary><literal>:cd</literal></primary></indexterm>
+ </term>
<listitem>
<para>Changes the current working directory to
<replaceable>dir</replaceable>. A
</varlistentry>
<varlistentry>
- <term><literal>:def</literal> <replaceable>name</replaceable> <replaceable>expr</replaceable></term>
- <indexterm><primary><literal>:def</literal></primary></indexterm>
+ <term>
+ <literal>:def</literal> <replaceable>name</replaceable> <replaceable>expr</replaceable>
+ <indexterm><primary><literal>:def</literal></primary></indexterm>
+ </term>
<listitem>
<para>The command <literal>:def</literal>
<replaceable>name</replaceable>
</varlistentry>
<varlistentry>
- <term><literal>:help</literal></term>
- <indexterm><primary><literal>:help</literal></primary></indexterm>
- <term><literal>:?</literal></term>
- <indexterm><primary><literal>:?</literal></primary></indexterm>
+ <term>
+ <literal>:help</literal>
+ <indexterm><primary><literal>:help</literal></primary></indexterm>
+ </term>
+ <term>
+ <literal>:?</literal>
+ <indexterm><primary><literal>:?</literal></primary></indexterm>
+ </term>
<listitem>
<para>Displays a list of the available commands.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><literal>:info</literal> <replaceable>name</replaceable>
- ...</term>
- <indexterm><primary><literal>:info</literal></primary>
- </indexterm>
+ <term>
+ <literal>:info</literal> <replaceable>name</replaceable> ...
+ <indexterm><primary><literal>:info</literal></primary></indexterm>
+ </term>
<listitem>
<para>Displays information about the given name(s). For
example, if <replaceable>name</replaceable> is a class, then
</varlistentry>
<varlistentry>
- <term><literal>:load</literal>
- <replaceable>module</replaceable> ...</term>
- <indexterm><primary><literal>:load</literal></primary></indexterm>
+ <term>
+ <literal>:load</literal> <replaceable>module</replaceable> ...
+ <indexterm><primary><literal>:load</literal></primary></indexterm>
+ </term>
<listitem>
<para>Recursively loads the specified
<replaceable>module</replaceable>s, and all the modules they
</varlistentry>
<varlistentry>
- <term><literal>:module <optional>+|-</optional> <optional>*</optional><replaceable>mod<subscript>1</subscript></replaceable> ... <optional>*</optional><replaceable>mod<subscript>n</subscript></replaceable></literal></term>
- <indexterm><primary><literal>:module</literal></primary></indexterm>
+ <term>
+ <literal>:module <optional>+|-</optional> <optional>*</optional><replaceable>mod<subscript>1</subscript></replaceable> ... <optional>*</optional><replaceable>mod<subscript>n</subscript></replaceable></literal>
+ <indexterm><primary><literal>:module</literal></primary></indexterm>
+ </term>
<listitem>
<para>Sets or modifies the current context for statements
typed at the prompt. See <xref linkend="ghci-scope"/> for
</varlistentry>
<varlistentry>
- <term><literal>:quit</literal></term>
- <indexterm><primary><literal>:quit</literal></primary></indexterm>
+ <term>
+ <literal>:quit</literal>
+ <indexterm><primary><literal>:quit</literal></primary></indexterm>
+ </term>
<listitem>
<para>Quits GHCi. You can also quit by typing a control-D
at the prompt.</para>
</varlistentry>
<varlistentry>
- <term><literal>:reload</literal></term>
- <indexterm><primary><literal>:reload</literal></primary></indexterm>
+ <term>
+ <literal>:reload</literal>
+ <indexterm><primary><literal>:reload</literal></primary></indexterm>
+ </term>
<listitem>
<para>Attempts to reload the current target set (see
<literal>:load</literal>) if any of the modules in the set,
</varlistentry>
<varlistentry>
- <term><literal>:set</literal> <optional><replaceable>option</replaceable>...</optional></term>
- <indexterm><primary><literal>:set</literal></primary></indexterm>
+ <term>
+ <literal>:set</literal> <optional><replaceable>option</replaceable>...</optional>
+ <indexterm><primary><literal>:set</literal></primary></indexterm>
+ </term>
<listitem>
<para>Sets various options. See <xref linkend="ghci-set"/>
for a list of available options. The
</varlistentry>
<varlistentry>
- <term><literal>:set</literal> <literal>args</literal>
- <replaceable>arg</replaceable> ...</term>
- <indexterm><primary><literal>:set</literal></primary></indexterm>
+ <term>
+ <literal>:set</literal> <literal>args</literal> <replaceable>arg</replaceable> ...
+ <indexterm><primary><literal>:set</literal></primary></indexterm>
+ </term>
<listitem>
<para>Sets the list of arguments which are returned when the
program calls <literal>System.getArgs</literal><indexterm><primary>getArgs</primary>
</varlistentry>
<varlistentry>
- <term><literal>:set</literal> <literal>prog</literal>
- <replaceable>prog</replaceable></term>
- <indexterm><primary><literal>:set</literal></primary></indexterm>
+ <term>
+ <literal>:set</literal> <literal>prog</literal> <replaceable>prog</replaceable>
+ <indexterm><primary><literal>:set</literal></primary></indexterm>
+ </term>
<listitem>
<para>Sets the string to be returned when the program calls
<literal>System.getProgName</literal><indexterm><primary>getProgName</primary>
</varlistentry>
<varlistentry>
- <term><literal>:show bindings</literal></term>
- <indexterm><primary><literal>:show bindings</literal></primary></indexterm>
+ <term>
+ <literal>:show bindings</literal>
+ <indexterm><primary><literal>:show bindings</literal></primary></indexterm>
+ </term>
<listitem>
<para>Show the bindings made at the prompt and their
types.</para>
</varlistentry>
<varlistentry>
- <term><literal>:show modules</literal></term>
- <indexterm><primary><literal>:show modules</literal></primary></indexterm>
+ <term>
+ <literal>:show modules</literal>
+ <indexterm><primary><literal>:show modules</literal></primary></indexterm>
+ </term>
<listitem>
<para>Show the list of modules currently load.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><literal>:type</literal> <replaceable>expression</replaceable></term>
- <indexterm><primary><literal>:type</literal></primary></indexterm>
+ <term>
+ <literal>:type</literal> <replaceable>expression</replaceable>
+ <indexterm><primary><literal>:type</literal></primary></indexterm>
+ </term>
<listitem>
<para>Infers and prints the type of
<replaceable>expression</replaceable>, including explicit
</varlistentry>
<varlistentry>
- <term><literal>:kind</literal> <replaceable>type</replaceable></term>
- <indexterm><primary><literal>:kind</literal></primary></indexterm>
+ <term>
+ <literal>:kind</literal> <replaceable>type</replaceable>
+ <indexterm><primary><literal>:kind</literal></primary></indexterm>
+ </term>
<listitem>
<para>Infers and prints the kind of
<replaceable>type</replaceable>. The latter can be an arbitrary
</varlistentry>
<varlistentry>
- <term><literal>:undef</literal> <replaceable>name</replaceable></term>
- <indexterm><primary><literal>:undef</literal></primary></indexterm>
+ <term>
+ <literal>:undef</literal> <replaceable>name</replaceable>
+ <indexterm><primary><literal>:undef</literal></primary></indexterm>
+ </term>
<listitem>
<para>Undefines the user-defined command
<replaceable>name</replaceable> (see <literal>:def</literal>
</varlistentry>
<varlistentry>
- <term><literal>:unset</literal> <replaceable>option</replaceable>...</term>
- <indexterm><primary><literal>:unset</literal></primary></indexterm>
+ <term>
+ <literal>:unset</literal> <replaceable>option</replaceable>...
+ <indexterm><primary><literal>:unset</literal></primary></indexterm>
+ </term>
<listitem>
<para>Unsets certain options. See <xref linkend="ghci-set"/>
for a list of available options.</para>
</varlistentry>
<varlistentry>
- <term><literal>:!</literal> <replaceable>command</replaceable>...</term>
- <indexterm><primary><literal>:!</literal></primary></indexterm>
- <indexterm><primary>shell commands</primary><secondary>in GHCi</secondary></indexterm>
+ <term>
+ <literal>:!</literal> <replaceable>command</replaceable>...
+ <indexterm><primary><literal>:!</literal></primary></indexterm>
+ <indexterm><primary>shell commands</primary><secondary>in GHCi</secondary></indexterm>
+ </term>
<listitem>
<para>Executes the shell command
<replaceable>command</replaceable>.</para>
<variablelist>
<varlistentry>
- <term><literal>+r</literal></term>
- <indexterm><primary><literal>+r</literal></primary></indexterm>
- <indexterm><primary>CAFs</primary><secondary>in GHCi</secondary></indexterm>
- <indexterm><primary>Constant Applicative Form</primary><see>CAFs</see></indexterm>
+ <term>
+ <literal>+r</literal>
+ <indexterm><primary><literal>+r</literal></primary></indexterm>
+ <indexterm><primary>CAFs</primary><secondary>in GHCi</secondary></indexterm>
+ <indexterm><primary>Constant Applicative Form</primary><see>CAFs</see></indexterm>
+ </term>
<listitem>
<para>Normally, any evaluation of top-level expressions
(otherwise known as CAFs or Constant Applicative Forms) in
</varlistentry>
<varlistentry>
- <term><literal>+s</literal></term>
- <indexterm><primary><literal>+s</literal></primary></indexterm>
+ <term>
+ <literal>+s</literal>
+ <indexterm><primary><literal>+s</literal></primary></indexterm>
+ </term>
<listitem>
<para>Display some stats after evaluating each expression,
including the elapsed time and number of bytes allocated.
</varlistentry>
<varlistentry>
- <term><literal>+t</literal></term>
- <indexterm><primary><literal>+t</literal></primary></indexterm>
+ <term>
+ <literal>+t</literal>
+ <indexterm><primary><literal>+t</literal></primary></indexterm>
+ </term>
<listitem>
<para>Display the type of each variable bound after a
statement is entered at the prompt. If the statement is a
<variablelist>
<varlistentry>
- <term><option>-ignore-dot-ghci</option></term>
- <indexterm><primary><option>-ignore-dot-ghci</option></primary>
- </indexterm>
+ <term>
+ <option>-ignore-dot-ghci</option>
+ <indexterm><primary><option>-ignore-dot-ghci</option></primary></indexterm>
+ </term>
<listitem>
<para>Don't read either <filename>./.ghci</filename> or
<filename>$HOME/.ghci</filename> when starting up.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>-read-dot-ghci</option></term>
- <indexterm><primary><option>-read-dot-ghci</option></primary>
- </indexterm>
+ <term>
+ <option>-read-dot-ghci</option>
+ <indexterm><primary><option>-read-dot-ghci</option></primary></indexterm>
+ </term>
<listitem>
<para>Read <filename>.ghci</filename> and
<filename>$HOME/.ghci</filename>. This is normally the
</varlistentry>
<varlistentry>
- <term><literal>-O</literal> doesn't work with GHCi!</term>
- <indexterm><primary><option>-O</option></primary>
- </indexterm>
+ <term>
+ <literal>-O</literal> doesn't work with GHCi!
+ <indexterm><primary><option>-O</option></primary></indexterm>
+ </term>
<listitem>
<para>For technical reasons, the bytecode compiler doesn't
interact well with one of the optimisation passes, so we
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<para>
<indexterm><primary>language, GHC</primary></indexterm>
<indexterm><primary>extensions, GHC</primary></indexterm>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="wrong">
<title>What to do when something goes wrong</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="sec-installing-bin-distrib">
<title>Installing GHC</title>
<indexterm><primary>binary installations</primary></indexterm>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="introduction-GHC">
<title>Introduction to GHC</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="ghc-language-features">
<title>GHC Language Features</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<preface id="License">
<title>The Glasgow Haskell Compiler License</title>
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="packages">
<title>Packages</title>
<indexterm><primary>packages</primary></indexterm>
<variablelist>
<varlistentry>
- <term><option>-package <replaceable>lib</replaceable></option></term>
- <indexterm><primary>-package <replaceable>lib</replaceable> option</primary></indexterm>
+ <term>
+ <option>-package <replaceable>lib</replaceable></option>
+ <indexterm><primary>-package <replaceable>lib</replaceable> option</primary></indexterm>
+ </term>
<listitem>
<para>This option brings into scope all the modules from
package <literal><replaceable>lib</replaceable></literal> (they still have to
<variablelist>
<varlistentry>
- <term><option>-package-conf <replaceable>file</replaceable></option></term>
- <indexterm><primary><option>-package-conf <replaceable>file</replaceable></option></primary>
- </indexterm>
+ <term>
+ <option>-package-conf <replaceable>file</replaceable></option>
+ <indexterm><primary><option>-package-conf <replaceable>file</replaceable></option></primary></indexterm>
+ </term>
<listitem>
<para>Read in the package configuration file
<replaceable>file</replaceable> in addition to the system
<variablelist>
<varlistentry>
- <term><option>-package-name <replaceable>foo</replaceable></option></term>
- <indexterm><primary><literal>-package-name</literal></primary>
- <secondary>option</secondary></indexterm>
+ <term>
+ <option>-package-name <replaceable>foo</replaceable></option>
+ <indexterm><primary><literal>-package-name</literal></primary><secondary>option</secondary></indexterm>
+ </term>
<listitem>
<para>This option is added to the command line when
compiling a module that is destined to be part of package
<variablelist>
<varlistentry>
- <term><option>––add-package</option></term>
- <term><option>-a</option></term>
- <indexterm><primary><option>––add-package</option></primary></indexterm>
+ <term>
+ <option>––add-package</option>
+ <indexterm><primary><option>––add-package</option></primary></indexterm>
+ </term>
+ <term>
+ <option>-a</option>
+ </term>
<listitem>
<para>Reads package specification from the input (see below),
and adds it to the database of installed packages. The
</varlistentry>
<varlistentry>
- <term><option>––input-file=<replaceable>file</replaceable></option></term>
- <term><option>-i <replaceable>file</replaceable></option></term>
- <indexterm><primary><option>––input-file</option></primary></indexterm>
+ <term>
+ <option>––input-file=<replaceable>file</replaceable></option>
+ <indexterm><primary><option>––input-file</option></primary></indexterm>
+ </term>
+ <term>
+ <option>-i <replaceable>file</replaceable></option>
+ </term>
<listitem>
<para>Read new package specifications from file
<replaceable>file</replaceable>. If a value of
</varlistentry>
<varlistentry>
- <term><option>––auto-ghci-libs</option></term>
- <term><option>-g</option></term>
- <indexterm><primary><option>––auto-ghci-libs</option></primary>
- </indexterm>
+ <term>
+ <option>––auto-ghci-libs</option>
+ <indexterm><primary><option>––auto-ghci-libs</option></primary></indexterm>
+ </term>
+ <term>
+ <option>-g</option>
+ </term>
<listitem>
<para>Automatically generate the GHCi
<filename>.o</filename> version of each
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
+ ;;; mode: xml ***
;;; sgml-parent-document: ("using.sgml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="concurrent-and-parallel">
<title>Concurrent and Parallel Haskell</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="options-phases">
<title>Options related to a particular phase</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<!-- UNBOXED TYPES AND PRIMITIVE OPERATIONS -->
<sect1 id="primitives">
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="profiling">
<title>Profiling</title>
<indexterm><primary>profiling</primary>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="runtime-control">
<title>Running a compiled program</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<sect1 id="separate-compilation">
<title>Filenames and separate compilation</title>
<variablelist>
<varlistentry>
- <term><option>-o</option> <replaceable>file</replaceable></term>
- <indexterm><primary><option>-o</option></primary></indexterm>
+ <term>
+ <option>-o</option> <replaceable>file</replaceable>
+ <indexterm><primary><option>-o</option></primary></indexterm>
+ </term>
<listitem>
<para>GHC's compiled output normally goes into a
<filename>.hc</filename>, <filename>.o</filename>, etc.,
</varlistentry>
<varlistentry>
- <term><option>-odir</option> <replaceable>dir</replaceable></term>
- <indexterm><primary><option>-odir</option></primary></indexterm>
+ <term>
+ <option>-odir</option> <replaceable>dir</replaceable>
+ <indexterm><primary><option>-odir</option></primary></indexterm>
+ </term>
<listitem>
<para>Redirects object files to directory
<replaceable>dir</replaceable>. For example:</para>
</varlistentry>
<varlistentry>
- <term><option>-ohi</option> <replaceable>file</replaceable></term>
- <indexterm><primary><option>-ohi</option></primary>
- </indexterm>
+ <term>
+ <option>-ohi</option> <replaceable>file</replaceable>
+ <indexterm><primary><option>-ohi</option></primary></indexterm>
+ </term>
<listitem>
<para>The interface output may be directed to another file
<filename>bar2/Wurble.iface</filename> with the option
</varlistentry>
<varlistentry>
- <term><option>-hidir</option> <replaceable>dir</replaceable></term>
- <indexterm><primary><option>-hidir</option></primary>
- </indexterm>
+ <term>
+ <option>-hidir</option> <replaceable>dir</replaceable>
+ <indexterm><primary><option>-hidir</option></primary></indexterm>
+ </term>
<listitem>
<para>Redirects all generated interface files into
<replaceable>dir</replaceable>, instead of the
</varlistentry>
<varlistentry>
- <term><option>-osuf</option> <replaceable>suffix</replaceable></term>
- <term><option>-hisuf</option> <replaceable>suffix</replaceable></term>
- <term><option>-hcsuf</option> <replaceable>suffix</replaceable></term>
- <indexterm><primary><option>-osuf</option></primary></indexterm>
- <indexterm><primary><option>-hisuf</option></primary></indexterm>
- <indexterm><primary><option>-hcsuf</option></primary></indexterm>
+ <term>
+ <option>-osuf</option> <replaceable>suffix</replaceable>
+ <indexterm><primary><option>-osuf</option></primary></indexterm>
+ </term>
+ <term>
+ <option>-hisuf</option> <replaceable>suffix</replaceable>
+ <indexterm><primary><option>-hisuf</option></primary></indexterm>
+ </term>
+ <term>
+ <option>-hcsuf</option> <replaceable>suffix</replaceable>
+ <indexterm><primary><option>-hcsuf</option></primary></indexterm>
+ </term>
<listitem>
<para>The <option>-osuf</option>
<replaceable>suffix</replaceable> will change the
<variablelist>
<varlistentry>
- <term><option>-keep-hc-files</option></term>
- <indexterm>
- <primary><option>-keep-hc-files</option></primary>
- </indexterm>
+ <term>
+ <option>-keep-hc-files</option>
+ <indexterm><primary><option>-keep-hc-files</option></primary></indexterm>
+ </term>
<listitem>
<para>Keep intermediate <literal>.hc</literal> files when
doing <literal>.hs</literal>-to-<literal>.o</literal>
</varlistentry>
<varlistentry>
- <term><option>-keep-s-files</option></term>
- <indexterm>
- <primary><option>-keep-s-files</option></primary>
- </indexterm>
+ <term>
+ <option>-keep-s-files</option>
+ <indexterm><primary><option>-keep-s-files</option></primary></indexterm>
+ </term>
<listitem>
<para>Keep intermediate <literal>.s</literal> files.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>-keep-raw-s-files</option></term>
- <indexterm>
- <primary><option>-keep-raw-s-files</option></primary>
- </indexterm>
+ <term>
+ <option>-keep-raw-s-files</option>
+ <indexterm><primary><option>-keep-raw-s-files</option></primary></indexterm>
+ </term>
<listitem>
<para>Keep intermediate <literal>.raw-s</literal> files.
These are the direct output from the C compiler, before
</varlistentry>
<varlistentry>
- <term><option>-keep-tmp-files</option></term>
- <indexterm>
- <primary><option>-keep-tmp-files</option></primary>
- </indexterm>
- <indexterm>
- <primary>temporary files</primary>
- <secondary>keeping</secondary>
- </indexterm>
+ <term>
+ <option>-keep-tmp-files</option>
+ <indexterm><primary><option>-keep-tmp-files</option></primary></indexterm>
+ <indexterm><primary>temporary files</primary><secondary>keeping</secondary></indexterm>
+ </term>
<listitem>
<para>Instructs the GHC driver not to delete any of its
temporary files, which it normally keeps in
<variablelist>
<varlistentry>
- <term><option>-tmpdir</option></term>
- <indexterm><primary><option>-tmpdir</option></primary></indexterm>
+ <term>
+ <option>-tmpdir</option>
+ <indexterm><primary><option>-tmpdir</option></primary></indexterm>
+ </term>
<listitem>
<para>If you have trouble because of running out of space
in <filename>/tmp</filename> (or wherever your
<variablelist>
<varlistentry>
- <term><option>-ddump-hi</option></term>
- <indexterm><primary><option>-ddump-hi</option></primary>
- </indexterm>
+ <term>
+ <option>-ddump-hi</option>
+ <indexterm><primary><option>-ddump-hi</option></primary></indexterm>
+ </term>
<listitem>
<para>Dumps the new interface to standard output.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>-ddump-hi-diffs</option></term>
- <indexterm><primary><option>-ddump-hi-diffs</option></primary>
- </indexterm>
+ <term>
+ <option>-ddump-hi-diffs</option>
+ <indexterm><primary><option>-ddump-hi-diffs</option></primary></indexterm>
+ </term>
<listitem>
<para>The compiler does not overwrite an existing
<filename>.hi</filename> interface file if the new one is
</varlistentry>
<varlistentry>
- <term><option>-ddump-minimal-imports</option></term>
- <indexterm><primary><option>-ddump-minimal-imports</option></primary>
- </indexterm>
+ <term>
+ <option>-ddump-minimal-imports</option>
+ <indexterm><primary><option>-ddump-minimal-imports</option></primary></indexterm>
+ </term>
<listitem>
<para>Dump to the file "M.imports" (where M is the module
being compiled) a "minimal" set of import declarations.
</varlistentry>
<varlistentry>
- <term><option>--show-iface</option>
- <replaceable>file</replaceable></term>
- <indexterm><primary><option>--show-iface</option></primary>
- </indexterm>
+ <term>
+ <option>--show-iface</option> <replaceable>file</replaceable>
+ <indexterm><primary><option>--show-iface</option></primary></indexterm>
+ </term>
<listitem>
<para>Where <replaceable>file</replaceable> is the name of
an interface file, dumps the contents of that interface in
<variablelist>
<varlistentry>
- <term><option>-no-recomp</option></term>
- <indexterm><primary><option>-recomp</option></primary></indexterm>
- <indexterm><primary><option>-no-recomp</option></primary></indexterm>
+ <term>
+ <option>-no-recomp</option>
+ <indexterm><primary><option>-recomp</option></primary></indexterm>
+ <indexterm><primary><option>-no-recomp</option></primary></indexterm>
+ </term>
<listitem>
<para>Turn off recompilation checking (which is on by
default). Recompilation checking normally stops
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
+ ;;; mode: xml ***
;;; sgml-parent-document: ("using.sgml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="sooner-faster-quicker">
<title>Advice on: sooner, faster, smaller, thriftier</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<bookinfo>
-<title>The Glasgow Haskell Compiler User's Guide, Version 6.0</title>
+<title>The Glasgow Haskell Compiler User's Guide, Version 6.3</title>
<author><othername>The GHC Team</othername></author>
<address>
<email>glasgow-haskell-{bugs,users}-request@haskell.org</email>
+++ /dev/null
-<!ENTITY ghci SYSTEM "ghci.sgml">
-<!ENTITY faq SYSTEM "faq.sgml">
-<!ENTITY flags SYSTEM "flags.sgml">
-<!ENTITY license SYSTEM "license.sgml">
-<!ENTITY intro SYSTEM "intro.sgml" >
-<!ENTITY relnotes SYSTEM "6.0-notes.sgml" >
-<!ENTITY installing SYSTEM "installing.sgml" >
-<!ENTITY using SYSTEM "using.sgml" >
-<!ENTITY runtime SYSTEM "runtime_control.sgml" >
-<!ENTITY prof SYSTEM "profiling.sgml" >
-<!ENTITY debug SYSTEM "debugging.sgml" >
-<!ENTITY sooner SYSTEM "sooner.sgml" >
-<!ENTITY lang-features SYSTEM "lang.sgml" >
-<!ENTITY glasgowexts SYSTEM "glasgow_exts.sgml" >
-<!ENTITY packages SYSTEM "packages.sgml" >
-<!ENTITY parallel SYSTEM "parallel.sgml" >
-<!ENTITY phases SYSTEM "phases.sgml" >
-<!ENTITY primitives SYSTEM "primitives.sgml" >
-<!ENTITY separate SYSTEM "separate_compilation.sgml" >
-<!ENTITY bugs SYSTEM "bugs.sgml" >
-<!ENTITY wrong SYSTEM "gone_wrong.sgml" >
-<!ENTITY utils SYSTEM "utils.sgml" >
-<!ENTITY win32-dll SYSTEM "win32-dlls.sgml">
-<!ENTITY ffi-chap SYSTEM "ffi-chap.sgml">
--- /dev/null
+<!ENTITY ghci SYSTEM "ghci.xml">
+<!ENTITY faq SYSTEM "faq.xml">
+<!ENTITY flags SYSTEM "flags.xml">
+<!ENTITY license SYSTEM "license.xml">
+<!ENTITY intro SYSTEM "intro.xml" >
+<!ENTITY relnotes SYSTEM "6.0-notes.xml" >
+<!ENTITY installing SYSTEM "installing.xml" >
+<!ENTITY using SYSTEM "using.xml" >
+<!ENTITY runtime SYSTEM "runtime_control.xml" >
+<!ENTITY prof SYSTEM "profiling.xml" >
+<!ENTITY debug SYSTEM "debugging.xml" >
+<!ENTITY sooner SYSTEM "sooner.xml" >
+<!ENTITY lang-features SYSTEM "lang.xml" >
+<!ENTITY glasgowexts SYSTEM "glasgow_exts.xml" >
+<!ENTITY packages SYSTEM "packages.xml" >
+<!ENTITY parallel SYSTEM "parallel.xml" >
+<!ENTITY phases SYSTEM "phases.xml" >
+<!ENTITY primitives SYSTEM "primitives.xml" >
+<!ENTITY separate SYSTEM "separate_compilation.xml" >
+<!ENTITY bugs SYSTEM "bugs.xml" >
+<!ENTITY wrong SYSTEM "gone_wrong.xml" >
+<!ENTITY utils SYSTEM "utils.xml" >
+<!ENTITY win32-dll SYSTEM "win32-dlls.xml">
+<!ENTITY ffi-chap SYSTEM "ffi-chap.xml">
+++ /dev/null
-<!DOCTYPE BOOK PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
-<!ENTITY % ug-ent SYSTEM "ug-ent.sgml">
-%ug-ent;
-<!ENTITY ug-book SYSTEM "ug-book.sgml">
-]>
-
-<book id="users-guide">
-&ug-book;
-</book>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY % ug-ent SYSTEM "ug-ent.xml">
+%ug-ent;
+<!ENTITY ug-book SYSTEM "ug-book.xml">
+]>
+
+<book id="users-guide">
+&ug-book;
+</book>
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="using-ghc">
<title>Using GHC</title>
<variablelist>
<varlistentry>
- <term><filename>.lhs</filename></term>
- <indexterm><primary><literal>lhs</literal> suffix</primary></indexterm>
+ <term>
+ <filename>.lhs</filename>
+ <indexterm><primary><literal>lhs</literal> suffix</primary></indexterm>
+ </term>
<listitem>
<para>A “literate Haskell” module.</para>
</listitem>
<variablelist>
<varlistentry>
- <term><cmdsynopsis><command>ghc</command>
+ <term>
+ <cmdsynopsis><command>ghc</command>
<arg choice='plain'>––interactive</arg>
- </cmdsynopsis></term>
- <indexterm><primary>interactive mode</primary>
- </indexterm>
- <indexterm><primary>ghci</primary>
- </indexterm>
+ </cmdsynopsis>
+ <indexterm><primary>interactive mode</primary></indexterm>
+ <indexterm><primary>ghci</primary></indexterm>
+ </term>
<listitem>
<para>Interactive mode, which is also available as
<command>ghci</command>. Interactive mode is described in
</varlistentry>
<varlistentry>
- <term><cmdsynopsis><command>ghc</command>
+ <term>
+ <cmdsynopsis><command>ghc</command>
<arg choice='plain'>––make</arg>
- </cmdsynopsis></term>
- <indexterm><primary>make mode</primary>
- </indexterm>
- <indexterm><primary><option>––make</option></primary>
- </indexterm>
+ </cmdsynopsis>
+ <indexterm><primary>make mode</primary></indexterm>
+ <indexterm><primary><option>––make</option></primary></indexterm>
+ </term>
<listitem>
<para>In this mode, GHC will build a multi-module Haskell
program automatically, figuring out dependencies for itself.
</varlistentry>
<varlistentry>
- <term><cmdsynopsis><command>ghc</command>
+ <term>
+ <cmdsynopsis><command>ghc</command>
<arg choice='plain'>–e</arg> <arg choice='plain'><replaceable>expr</replaceable></arg>
- </cmdsynopsis></term>
- <indexterm><primary>eval mode</primary>
- </indexterm>
+ </cmdsynopsis>
+ <indexterm><primary>eval mode</primary></indexterm>
+ </term>
<listitem>
<para>Expression-evaluation mode. This is very similar to
interactive mode, except that there is a single expression
</varlistentry>
<varlistentry>
- <term><cmdsynopsis>
+ <term>
+ <cmdsynopsis>
<command>ghc</command>
<group>
<arg>-E</arg>
<arg>-S</arg>
<arg>-c</arg>
</group>
- </cmdsynopsis></term>
- <indexterm><primary><option>-E</option></primary></indexterm>
- <indexterm><primary><option>-C</option></primary></indexterm>
- <indexterm><primary><option>-S</option></primary></indexterm>
- <indexterm><primary><option>-c</option></primary></indexterm>
+ </cmdsynopsis>
+ <indexterm><primary><option>-E</option></primary></indexterm>
+ <indexterm><primary><option>-C</option></primary></indexterm>
+ <indexterm><primary><option>-S</option></primary></indexterm>
+ <indexterm><primary><option>-c</option></primary></indexterm>
+ </term>
<listitem>
<para>This is the traditional batch-compiler mode, in which
GHC can compile source files one at a time, or link objects
</varlistentry>
<varlistentry>
- <term><cmdsynopsis><command>ghc</command>
- <arg choice='plain'>–M</arg></cmdsynopsis></term>
- <indexterm><primary>dependency-generation mode</primary>
- </indexterm>
+ <term>
+ <cmdsynopsis>
+ <command>ghc</command>
+ <arg choice='plain'>–M</arg>
+ </cmdsynopsis>
+ <indexterm><primary>dependency-generation mode</primary></indexterm>
+ </term>
<listitem>
<para>Dependency-generation mode. In this mode, GHC can be
used to generate dependency information suitable for use in
</varlistentry>
<varlistentry>
- <term><cmdsynopsis><command>ghc</command>
- <arg choice='plain'>––mk-dll</arg></cmdsynopsis></term>
- <indexterm><primary>dependency-generation mode</primary>
- </indexterm>
+ <term>
+ <cmdsynopsis>
+ <command>ghc</command>
+ <arg choice='plain'>––mk-dll</arg>
+ </cmdsynopsis>
+ <indexterm><primary>dependency-generation mode</primary></indexterm>
+ </term>
<listitem>
<para>DLL-creation mode (Windows only). See <xref
linkend="win32-dlls-create"/>.</para>
<sect2 id="make-mode">
<title>Using <command>ghc</command> <option>––make</option></title>
-
- <indexterm><primary><option>––make</option></primary>
- </indexterm>
- <indexterm><primary>separate compilation</primary>
- </indexterm>
+ <indexterm><primary><option>––make</option></primary></indexterm>
+ <indexterm><primary>separate compilation</primary></indexterm>
<para>When given the <option>––make</option> option,
GHC will build a multi-module Haskell program by following
file.</para>
</listitem>
<listitem>
- <para>You don't have to write a
- <literal>Makefile</literal>.</para>
+ <para>You don't have to write a<literal>Makefile</literal>.</para>
+ <indexterm><primary><literal>Makefile</literal>s</primary><secondary>avoiding</secondary></indexterm>
</listitem>
- <indexterm><primary><literal>Makefile</literal>s</primary><secondary>avoiding</secondary>
- </indexterm>
<listitem>
<para>GHC re-calculates the dependencies each time it is
invoked, so the dependencies never get out of sync with the
<variablelist>
<varlistentry>
- <term><option>––help</option></term>
- <term><option>-?</option></term>
- <indexterm><primary><option>-?</option></primary></indexterm>
- <indexterm><primary><option>––help</option></primary></indexterm>
+ <term>
+ <option>––help</option>
+ <indexterm><primary><option>––help</option></primary></indexterm>
+ </term>
+ <term>
+ <option>-?</option>
+ <indexterm><primary><option>-?</option></primary></indexterm>
+ </term>
<listitem>
<para>Cause GHC to spew a long usage message to standard
output and then exit.</para>
</varlistentry>
<varlistentry>
- <term><option>-v</option></term>
- <indexterm><primary><option>-v</option></primary></indexterm>
+ <term>
+ <option>-v</option>
+ <indexterm><primary><option>-v</option></primary></indexterm>
+ </term>
<listitem>
<para>The <option>-v</option> option makes GHC
<emphasis>verbose</emphasis>: it reports its version number
</varlistentry>
<varlistentry>
- <term><option>-v</option><replaceable>n</replaceable></term>
- <indexterm><primary><option>-v</option></primary></indexterm>
+ <term>
+ <option>-v</option><replaceable>n</replaceable>
+ <indexterm><primary><option>-v</option></primary></indexterm>
+ </term>
<listitem>
<para>To provide more control over the compiler's verbosity,
the <option>-v</option> flag takes an optional numeric
</varlistentry>
<varlistentry>
- <term><option>-V</option></term>
- <term><option>––version</option></term>
- <indexterm><primary><option>-V</option></primary></indexterm>
- <indexterm><primary><option>––version</option></primary></indexterm>
+ <term>
+ <option>-V</option>
+ <indexterm><primary><option>-V</option></primary></indexterm>
+ </term>
+ <term>
+ <option>––version</option>
+ <indexterm><primary><option>––version</option></primary></indexterm>
+ </term>
<listitem>
<para>Print a one-line string including GHC's version number.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>––numeric-version</option></term>
- <indexterm><primary><option>––numeric-version</option></primary></indexterm>
+ <term>
+ <option>––numeric-version</option>
+ <indexterm><primary><option>––numeric-version</option></primary></indexterm>
+ </term>
<listitem>
<para>Print GHC's numeric version number only.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>––print-libdir</option></term>
- <indexterm><primary><option>––print-libdir</option></primary></indexterm>
+ <term>
+ <option>––print-libdir</option>
+ <indexterm><primary><option>––print-libdir</option></primary></indexterm>
+ </term>
<listitem>
<para>Print the path to GHC's library directory. This is
the top of the directory tree containing GHC's libraries,
</varlistentry>
<varlistentry>
- <term><option>-fwarn-misc</option>:</term>
- <indexterm><primary><option>-fwarn-misc</option></primary></indexterm>
+ <term>
+ <option>-fwarn-misc</option>:
+ <indexterm><primary><option>-fwarn-misc</option></primary></indexterm>
+ </term>
<listitem>
<para>Turns on warnings for various harmless but untidy
things. This currently includes: importing a type with
</varlistentry>
<varlistentry>
- <term><option>-fwarn-missing-fields</option>:</term>
- <listitem>
+ <term>
+ <option>-fwarn-missing-fields</option>:
<indexterm><primary><option>-fwarn-missing-fields</option></primary></indexterm>
<indexterm><primary>missing fields, warning</primary></indexterm>
<indexterm><primary>fields, missing</primary></indexterm>
+ </term>
+ <listitem>
<para>This option is on by default, and warns you whenever
the construction of a labelled field constructor isn't
</varlistentry>
<varlistentry>
- <term><option>-fwarn-overlapping-patterns</option>:</term>
- <indexterm><primary><option>-fwarn-overlapping-patterns</option></primary></indexterm>
- <indexterm><primary>overlapping patterns, warning</primary></indexterm>
- <indexterm><primary>patterns, overlapping</primary></indexterm>
+ <term>
+ <option>-fwarn-overlapping-patterns</option>:
+ <indexterm><primary><option>-fwarn-overlapping-patterns</option></primary></indexterm>
+ <indexterm><primary>overlapping patterns, warning</primary></indexterm>
+ <indexterm><primary>patterns, overlapping</primary></indexterm>
+ </term>
<listitem>
<para>By default, the compiler will warn you if a set of
patterns are overlapping, i.e.,</para>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="utils">
<title>Other Haskell utility programs</title>
<indexterm><primary>utilities, Haskell</primary></indexterm>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->
+<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="win32">
<title>Running GHC on Win32 systems</title>
<!-- Emacs stuff:
;;; Local Variables: ***
- ;;; mode: sgml ***
- ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter") ***
+ ;;; mode: xml ***
+ ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter") ***
;;; End: ***
-->