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