X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fbugs.xml;h=4d79d24268e5e587434f157e41e8559d1ece1dd4;hb=41b9dfa595948df05e3f1370861ec9869ec852bb;hp=c0c4bdbd50aae3980e12339b207054e003886c42;hpb=eb01cea35de6994db497e002a32ea263ab290a60;p=ghc-hetmet.git diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml index c0c4bdb..4d79d24 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." + + + @@ -344,7 +358,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.