patch applied (ghc): Robustify the treatement of DFunUnfolding

Simon Peyton Jones simonpj at microsoft.com
Mon Jun 14 09:29:47 EDT 2010


Mon May 31 07:53:32 PDT 2010  simonpj at microsoft.com
  * Robustify the treatement of DFunUnfolding
  
  See Note [DFun unfoldings] in CoreSyn.  The issue here is that 
  you can't tell how many dictionary arguments a DFun needs just
  from looking at the Arity of the DFun Id: if the dictionary is
  represented by a newtype the arity might include the dictionary
  and value arguments of the (single) method.
  
  So we need to record the number of arguments need by the DFun
  in the DFunUnfolding itself.  Details in 
     Note [DFun unfoldings] in CoreSyn

    M ./compiler/coreSyn/CoreFVs.lhs -4 +4
    M ./compiler/coreSyn/CoreSubst.lhs -2 +2
    M ./compiler/coreSyn/CoreSyn.lhs -4 +36
    M ./compiler/coreSyn/CoreUnfold.lhs -7 +21
    M ./compiler/coreSyn/PprCore.lhs -4 +5
    M ./compiler/deSugar/DsBinds.lhs -7 +8
    M ./compiler/iface/MkIface.lhs -1 +1
    M ./compiler/iface/TcIface.lhs -3 +1
    M ./compiler/main/TidyPgm.lhs -6 +6
    M ./compiler/simplCore/Simplify.lhs -2 +2
    M ./compiler/typecheck/TcInstDcls.lhs -5 +7
    M ./compiler/vectorise/VectType.hs -3 +3

View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20100531145332-1287e-53feb2781fa729443e5b891cd9ca531c7d2651d8.gz



More information about the Cvs-ghc mailing list