X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FNOTES;h=d0332b11150ce20d27b3499629f704443a2b5cec;hb=798374a5fa613d622b70cd4c37bb97f203abb6ba;hp=6ad337559df0b063a61a5ff56f2ce89a68569701;hpb=1fb1ab5d53a09607e7f6d2450806760688396387;p=ghc-hetmet.git diff --git a/ghc/compiler/NOTES b/ghc/compiler/NOTES index 6ad3375..d0332b1 100644 --- a/ghc/compiler/NOTES +++ b/ghc/compiler/NOTES @@ -1,8 +1,14 @@ -* CHECK that the things seek_liftable found are done in Core +Notes June 99 +~~~~~~~~~~~~~ +* In nofib/spectral/mandel2/Main.check_radius, there's a call to (fromIntegral m), where + m is defined at top level. The full-laziness pass doesn't catch this because by + the time it runs, enough inlining has happened that it looks like + case ccall ... of (# a,b #) -> ... + and the full laziness pass doesn't float unboxed things. -* CHECK that there aren't too many indirections in STG - local = ... - global = local Int +* The same function is an excellent example of where liberate-case would be a win. + +* Don't forget to try CSE Interface files ~~~~~~~~~~~~~~~ @@ -12,118 +18,8 @@ Interface files * The double semicolon at the end of an interface-file signature is so that the lexer can run through the pragmas very fast when -O isn't being used. -* In export lists, T!(A,B) says that constructors A and B are exported, - but not the type T. Similarly for classes. - -=========================================================================== - - Nofib failures - ~~~~~~~~~~~~~~ - -* spectral/hartel/wave4main, wang, spectral/simple, real/symalg - -Bus error - -* real/anna - -expected stdout not matched by reality -*** big.sum.out Thu Aug 22 14:37:05 1996 ---- /tmp/runtest21900.1 Mon Jan 20 17:57:49 1997 -*************** -*** 1 **** -! 12796 49 ---- 1 ---- -! 63325 97 - - -* /real/compress2 - -expected stderr not matched by reality -Warning: missing newline at end of file /tmp/runtest14691.2 -*** /tmp/no_stderr14691 Thu Jan 23 14:33:29 1997 ---- /tmp/runtest14691.2 Thu Jan 23 14:33:29 1997 -*************** -*** 0 **** ---- 1,2 ---- -+ -+ Fail: Prelude.Enum.Char.toEnum:out of range - - -* real/ebnf2ps - -IOSupplement.hs: 43: value not in scope: getEnv - - ...and... - -HappyParser.hs: 127: Couldn't match the type - [HappyParser.Token'] against PrelBase.Int - Expected: HappyParser.HappyReduction - Inferred: PrelBase.Int -> HappyParser.Token' -> HappyParser.HappyState HappyParser.Token' ([HappyParser.HappyAbsSyn] -> [AbstractSyntax.Production]) -> PrelBase.Int -> PrelBase.Int -> o{-a1yN-} -> o{-a1yO-} -> [HappyParser.Token'] -> a{-a1yP-} - In an equation for function HappyParser.action_1: - HappyParser.action_1 _ = HappyParser.happyFail - - -* GHC_ONLY/bugs/andy_cherry - -DataTypes.lhs: 3: Could not find valid interface file for `GenUtils' - -Need "make depend" - -* GHC_ONLY/bugs/lex - -Pattern match fail in lex; must be producing empty or multi-valued result - -Aggravated by dreadful error messages: -+ -+ Fail: In irrefutable pattern -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matching -+ Fail: In pattern-matchingtoo many nested calls to `error' - - -* GHC_ONLY/bugs/jtod_circint - -Main.hs: 12: No instance for: Signal.Signal (Signal.Stream Bit.Bit) - Main.hs: 12: at a use of an overloaded identifier: `Signal.one' - -instance-decl slurping is WRONG - -* GHC_ONLY/arith005 - -ceiling doesn't work properly - ---- 1,3 ---- -+ [1, 1, 2, 3, 4, 5, 0, -2, -3, -4, 1000013, 124, 101, 103, 1, 0, 17001, 0, 1, 4] -+ [1, 1, 2, 3, 4, 5, 0, -2, -3, -4, 1000013, 124, 101, 103, 1, 0, 17001, 0, 1, 4] - [0, 0, 2, 3, 4, 5, -1, -2, -3, -4, 1000012, 124, 101, 103, 1, 0, 17000, 0, 1, 4] -*************** -*** 2,5 **** - [0, 0, 2, 3, 4, 5, -1, -2, -3, -4, 1000012, 124, 101, 103, 1, 0, 17000, 0, 1, 4] -- [0, 0, 2, 3, 4, 5, -1, -2, -3, -4, 1000012, 124, 101, 103, 1, 0, 17000, 0, 1, 4] -- [0, 0, 2, 3, 4, 5, -1, -2, -3, -4, 1000012, 124, 101, 103, 1, 0, 17000, 0, 1, 4] - [0, 0, 1, 2, 3, 4, -1, -3, -4, -5, 1000012, 123, 100, 102, 0, -1, 17000, -1, 0, 3] ---- 4,5 ---- - - -* GHC_ONLY/bugs/lennart_array - -Wrong array semantics (but who cares?) - -* GHC_ONLY/bugs/life_space_leak +* In export lists, T|(A,B) says that constructors A and B are exported, + but not the type T. Similarly for classes. + We can't say T(T,A,B) and T(A,B) to export or not-export T respectively, + because the type T might have a constructor T. --n *** sum I got: -0 0 --n *** sum I expected: -02845 1350