Wed Sep  3 05:02:28 PDT 2008  [EMAIL PROTECTED]
 * Major change in compilation of instance declarations (fix Trac #955, #2328)
This patch makes an important change to the way that dictionary
 functions are handled.  Before, they were unconditionally marked
 INLIINE, but all the code written by the user in the instance
 was inside that unconditionally-inlined function.  Result: massive
 code bloat in programs that use complicated instances.

Sounds good.

But that inlining might also go a way towards partially evaluating
instance methods, if the inlining is bounded by finite types. So limiting that inlining might result in slower code, escpecially for
libraries with complex instances (HList's record selection, say).

Is there a way to optionally enable the inlining of the instance
method code, rather than the short wrapper only? Were there no cases where the code bloat was temporary, with the longer compile-times actually being used to optimize the exposed
code into something smaller again?

And does this fix #2438, too?

Claus

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to