X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fbugs.xml;h=803f9a89064c5660f2855c2ea60e626a3a73d989;hb=97ce7b595418d629a57654b5af07133e6418b45e;hp=ead62535777ade8d3d22875dd8d654722e0648cd;hpb=973ea68765061854376f1ac579a6071cb403635c;p=ghc-hetmet.git diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml index ead6253..803f9a8 100644 --- a/docs/users_guide/bugs.xml +++ b/docs/users_guide/bugs.xml @@ -26,12 +26,6 @@ - The Haskell report specifies that programs may be - written using Unicode. GHC only accepts the ISO-8859-1 - character set at the moment. - - - Certain lexical rules regarding qualified identifiers are slightly different in GHC compared to the Haskell report. When you have @@ -104,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." + + + @@ -183,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. + + + @@ -280,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. + + + + + @@ -340,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. @@ -397,7 +439,6 @@ Loading package javavm ... linking ... WARNING: Overflown relocation field (# re