Improve the handling of default methods
authorsimonpj@microsoft.com <unknown>
Wed, 6 Jan 2010 16:06:03 +0000 (16:06 +0000)
committersimonpj@microsoft.com <unknown>
Wed, 6 Jan 2010 16:06:03 +0000 (16:06 +0000)
commit77166b1729061531eeb77c33f4d3b2581f7d4c41
tree12e387b15e1bc74f9a85aa4def1e5db789be5237
parent0af418beb1aadcae1df036240151556895d00321
Improve the handling of default methods

See the long Note [INLINE and default methods].

This patch changes a couple of data types, with a knock-on effect on
the format of interface files.  A lot of files get touched, but is a
relatively minor change.  The main tiresome bit is the extra plumbing
to communicate default methods between the type checker and the
desugarer.
23 files changed:
compiler/basicTypes/BasicTypes.lhs
compiler/basicTypes/MkId.lhs
compiler/coreSyn/CoreSyn.lhs
compiler/coreSyn/CoreUnfold.lhs
compiler/deSugar/DsBinds.lhs
compiler/deSugar/DsForeign.lhs
compiler/hsSyn/Convert.lhs
compiler/hsSyn/HsBinds.lhs
compiler/iface/BinIface.hs
compiler/iface/IfaceSyn.lhs
compiler/iface/MkIface.lhs
compiler/iface/TcIface.lhs
compiler/parser/RdrHsSyn.lhs
compiler/simplCore/Simplify.lhs
compiler/specialise/Specialise.lhs
compiler/stranal/WorkWrap.lhs
compiler/typecheck/TcBinds.lhs
compiler/typecheck/TcClassDcl.lhs
compiler/typecheck/TcHsSyn.lhs
compiler/typecheck/TcInstDcls.lhs
compiler/vectorise/VectType.hs
compiler/vectorise/VectUtils.hs
compiler/vectorise/Vectorise.hs