[commit: ghc] master: Remove "silent superclass parameters" (a9d48fd)
Simon Peyton Jones
simonpj at microsoft.com
Wed Jun 22 12:55:28 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/a9d48fd94ae92b979610f5efe5d66506928118eb
>---------------------------------------------------------------
commit a9d48fd94ae92b979610f5efe5d66506928118eb
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Wed Jun 22 11:46:03 2011 +0100
Remove "silent superclass parameters"
We introduced silent superclass parameters as a way to avoid
superclass loops, but we now solve that problem a different
way ("derived" superclass constraints carry no evidence). So
they aren't needed any more.
Apart from being a needless complication, they broke DoCon.
Admittedly in a very obscure way, but still the result is
hard to explain. To see the details see Trac #5051, with
test case typecheck/should_compile/T5051. (The test is
nice and small!)
compiler/basicTypes/Id.lhs | 7 +-
compiler/basicTypes/IdInfo.lhs | 12 +--
compiler/basicTypes/MkId.lhs | 17 +--
compiler/coreSyn/CoreSyn.lhs | 2 -
compiler/coreSyn/CoreUnfold.lhs | 1 -
compiler/coreSyn/CoreUtils.lhs | 2 +-
compiler/coreSyn/PprCore.lhs | 1 -
compiler/iface/BinIface.hs | 8 +-
compiler/iface/IfaceSyn.lhs | 4 +-
compiler/iface/MkIface.lhs | 2 +-
compiler/iface/TcIface.lhs | 5 +-
compiler/typecheck/TcErrors.lhs | 12 +--
compiler/typecheck/TcInstDcls.lhs | 163 ++++++++++----------------
compiler/typecheck/TcInteract.lhs | 77 ++++--------
compiler/typecheck/TcMType.lhs | 22 +----
compiler/types/InstEnv.lhs | 13 +--
compiler/vectorise/Vectorise/Type/PADict.hs | 73 +++++-------
compiler/vectorise/Vectorise/Type/PRepr.hs | 28 ++++-
compiler/vectorise/Vectorise/Utils/PADict.hs | 16 +---
19 files changed, 165 insertions(+), 300 deletions(-)
Diff suppressed because of size. To see it, use:
git show a9d48fd94ae92b979610f5efe5d66506928118eb
More information about the Cvs-ghc
mailing list