Commit e030a747 authored by simonpj's avatar simonpj

[project @ 2002-11-28 10:04:15 by simonpj]

Document a couple more bugs
parent 2c5ca121
......@@ -276,6 +276,19 @@ main = print (array (1,1) [(1,2), (1,3)])</programlisting>
<para>GHC has the following known bugs or infelicities:
GHC only provides tuples up to size 62, and derived tuple instances (for
Eq, Ord, etc) up to size 15.
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.
<listitem><para>Dangers with multiple Main modules.</para>
......@@ -3296,6 +3296,13 @@ Tim Sheard is going to expand it.)
The flag <literal>-ddump-splices</literal> shows the expansion of all top-level splices as they happen.
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> 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):
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
<para>Run "main.exe" and here is your output:
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment