Thu Aug 14 07:53:55 PDT 2008  [EMAIL PROTECTED]
  * Make dictionary functions small
  
  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.
  
  This patch make instances behave rather as if all the methods
  were written in separate definitions.  That dramatically reduces
  bloat.
  
  I am not 100% certain that all the corners are correct; for example,
  when default methods are marked INLINE, are they inlined?  So this
  is a patch in progress.
  
  It's nice that the patch also removes a lot of code.  I deleted some
  out of date comments, but there's something like 100 fewer lines of
  code in the new version!
  

    M ./compiler/typecheck/TcBinds.lhs -9 +12
    M ./compiler/typecheck/TcClassDcl.lhs -287 +75
    M ./compiler/typecheck/TcInstDcls.lhs -272 +243
    M ./compiler/typecheck/TcType.lhs -10 +18

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20080814145355-1287e-4af98f22852d102572ed78e8e87705efdce2e64c.gz

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

Reply via email to