Fri Aug 13 09:11:51 PDT 2010 [email protected]
* Re-do the arity calculation mechanism again (fix Trac #3959)
After rumination, yet again, on the subject of arity calculation,
I have redone what an ArityType is (it's purely internal to the
CoreArity module), and documented it better. The result should
fix #3959, and I hope the related #3961, #3983.
There is lots of new documentation: in particular
* Note [ArityType]
describes the new datatype for arity info
* Note [State hack and bottoming functions]
says how bottoming functions are dealt with, particularly
covering catch# and Trac #3959
I also found I had to be careful not to eta-expand single-method
class constructors; see Note [Newtype classes and eta expansion].
I think this part could be done better, but it works ok.
M ./compiler/coreSyn/CoreArity.lhs -114 +223
M ./compiler/types/Type.lhs -10 +1
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=ghc;a=darcs_commitdiff;h=20100813161151-1287e-a5d5e39044558007a167c4289ad1e71cd041896f.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc