X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fbugs.xml;h=6e25e68d1448ba1c56ed163446ccc04ccc999307;hb=26f164e5759e9eca73deb0531ddec422d36a6924;hp=8151626f23c2d9c59222a9b209d85ed4175b710f;hpb=9253afdfd62b10caaa398f78954aa7f309d887e5;p=ghc-hetmet.git
diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml
index 8151626..6e25e68 100644
--- a/docs/users_guide/bugs.xml
+++ b/docs/users_guide/bugs.xml
@@ -98,14 +98,28 @@ main = do args <- getArgs
GHC's typechecker makes all pattern bindings monomorphic
by default; this behaviour can be disabled with
- . See -XNoMonoPatBinds. See .Module system and interface files
- None known.
+ GHC requires the use of hs-boot
+ files to cut the recursive loops among mutually recursive modules
+ as described in . This more of an infelicity
+ than a bug: the Haskell Report says
+ (Section 5.7) "Depending on the Haskell
+ implementation used, separate compilation of mutually
+ recursive modules may require that imported modules contain
+ additional information so that they may be referenced before
+ they are compiled. Explicit type signatures for all exported
+ values may be necessary to deal with mutual recursion. The
+ precise details of separate compilation are not defined by
+ this Report."
+
+
+
@@ -177,6 +191,22 @@ checking for duplicates. The reason for this is efficiency, pure and simple.
alphabetic by isAlpha.
+
+
+ hGetContents
+
+
+ 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 System.IO.Error.catch
+ or Control.Exception.catch.
+
+
+
@@ -274,6 +304,24 @@ checking for duplicates. The reason for this is efficiency, pure and simple.
+
+
+ Divergence from the FFI specification
+
+
+
+ hs_init() not allowed
+ after hs_exit()
+
+ The FFI spec requires the implementation to support
+ re-initialising itself after being shut down
+ with hs_exit(), but GHC does not
+ currently support that.
+
+
+
+
+
@@ -334,7 +382,7 @@ checking for duplicates. The reason for this is efficiency, pure and simple.
the problem would impose an extra overhead on every
compilation. So the bug remains un-fixed. There is more
background in
+ url="http://research.microsoft.com/~simonpj/Papers/inlining/">
Secrets of the GHC inliner.