X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=utils%2Fext-core%2FREADME;h=bb5f3aade52e3cefb175b6ff4b97d6aa5b6492d0;hp=6091935d4a02a10165321a6a56dfdb9429b8fa33;hb=8bfeb25ae78e99c7014113468b0057342db4208f;hpb=c287bea94592fffe63f85831ab651c28d64e4d6e diff --git a/utils/ext-core/README b/utils/ext-core/README index 6091935..bb5f3aa 100644 --- a/utils/ext-core/README +++ b/utils/ext-core/README @@ -6,20 +6,26 @@ tjc April/May 2008: ==== Notes ==== -The checker should work on most programs. Bugs I'm aware of: -1. There's some business I don't quite understand involving - coercions and subkinding (for details, see: - http://www.haskell.org/pipermail/cvs-ghc/2008-April/041949.html) - This shows up when typechecking a few of the library modules. +The checker should work on most programs. Bugs (and infelicities) +I'm aware of: -2. There's some weirdness involving funny character literals. This can +1. There's some weirdness involving funny character literals. This can be fixed by writing a new lexer for chars rather than using Parsec's built-in charLiteral lexer. But I haven't done that. -3. When typechecking the ghc-prim:GHC.PrimopWrappers library module, - some declarations seem to have the wrong type signature (due to - confusion between (forall (t::*) ...) and (forall (t::?) ...).) - This is because the ? kind is not expressible in Haskell. +2. The test driver attempts to find module dependencies automatically, + but it's slow. You can turn it off with the "-n" flag to the driver, + and specify all dependencies on the command line (you have to include + standard library dependencies too.) + * It would help to cache dependency info for standard libraries + in a file, or something, but that's future work. + +3. To avoid implementing some of the I/O primitives and foreign calls, + I use a gross hack involving replacing certain standard library + modules with simplified versions (found under lib/) that depend on + fake "primops" that the Core interpreter implements. This makes it + difficult (if not impossible) to load optimized versions of standard + libraries right now. Fixing this is future work too. Typechecking all the GHC libraries eats about a gig of heap and takes a long time. I blame Parsec. (Someone who was bored, or understood happy