[project @ 2002-11-28 10:04:15 by simonpj]
authorsimonpj <unknown>
Thu, 28 Nov 2002 10:04:15 +0000 (10:04 +0000)
committersimonpj <unknown>
Thu, 28 Nov 2002 10:04:15 +0000 (10:04 +0000)
Document a couple more bugs

ghc/docs/users_guide/bugs.sgml
ghc/docs/users_guide/glasgow_exts.sgml

index 036bf00..47e203f 100644 (file)
@@ -276,6 +276,19 @@ main = print (array (1,1) [(1,2), (1,3)])</programlisting>
 <para>GHC has the following known bugs or infelicities:
 <itemizedlist>
 
+<listitem><para>
+GHC only provides tuples up to size 62, and derived tuple instances (for
+Eq, Ord, etc) up to size 15.
+</para></listitem>
+
+<listitem><para>
+GHC can warn about non-exhaustive or overlapping patterns, and usually does so correctly.
+But not always.  It gets confused by string patterns, and by guards, and can then 
+emit bogus warnings.  The entire overlap-check code needs an overhaul really.
+</para></listitem>
+
+
+
 <listitem><para>Dangers with multiple Main modules.</para>
 
        <para>
index 4d1ee17..4cdc3cb 100644 (file)
@@ -3296,6 +3296,13 @@ Tim Sheard is going to expand it.)
     <listitem><para>
            The flag <literal>-ddump-splices</literal> shows the expansion of all top-level splices as they happen.
    </para></listitem>
+    <listitem><para>
+           If you are building GHC from source, you need at least a stage-2 bootstrap compiler to
+             run Template Haskell.  A stage-1 compiler will reject the TH constructs.  Reason: TH
+             compiles and runs a program, and then looks at the result.  So it's important that
+             the program it compiles produces results whose representations are identical to
+             those of the compiler itself.
+   </para></listitem>
 </itemizedlist>
 </para>
 <para> Template Haskell works in any mode (<literal>--make</literal>, <literal>--interactive</literal>,
@@ -3358,7 +3365,7 @@ pr s      = gen (parse s)
 <para>Now run the compiler (here we are using a "stage three" build of GHC, at a Cygwin prompt on Windows):
 </para>
 <programlisting>
-stage3/ghc/compiler/ghc-inplace --make -fglasgow-exts -package haskell-src main.hs -o main.exe
+ghc/compiler/stage3/ghc-inplace --make -fglasgow-exts -package haskell-src main.hs -o main.exe
 </programlisting>
 
 <para>Run "main.exe" and here is your output: