3 * In nofib/spectral/mandel2/Main.check_radius, there's a call to (fromIntegral m), where
4 m is defined at top level. The full-laziness pass doesn't catch this because by
5 the time it runs, enough inlining has happened that it looks like
6 case ccall ... of (# a,b #) -> ...
7 and the full laziness pass doesn't float unboxed things.
9 * The same function is an excellent example of where liberate-case would be a win.
11 * Don't forget to try CSE
15 * Don't need to pin a kind on the type variable in a interface class decl,
16 because it'll be correctly re-inferred when we read it in.
18 * The double semicolon at the end of an interface-file signature is so that
19 the lexer can run through the pragmas very fast when -O isn't being used.
21 * In export lists, T|(A,B) says that constructors A and B are exported,
22 but not the type T. Similarly for classes.
23 We can't say T(T,A,B) and T(A,B) to export or not-export T respectively,
24 because the type T might have a constructor T.