[commit: ghc] master: Refactor invariants for FamInsts. (5765248)
Richard Eisenberg <[email protected]> Sat, 05 Jan 2013 12:37:43 -0800
| Newsgroups | gmane.comp.lang.haskell.cvs.ghc |
|---|---|
| Message-ID | <[email protected]> |
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/5765248bbcc55a65e39e2e097a973071889cba67 >--------------------------------------------------------------- commit 5765248bbcc55a65e39e2e097a973071889cba67 Author: Richard Eisenberg <[email protected]> Date: Sat Jan 5 00:04:54 2013 -0500 Refactor invariants for FamInsts. This commit mirrors work done in the commit for ClsInsts, 5efe9b... Specifically: - All FamInsts have *fresh* type variables. So, no more freshness work in addLocalFamInst Also: - Some pretty-printing code around FamInsts was cleaned up a bit This caused location information to be added to CoAxioms and index information to be added to FamInstBranches. compiler/iface/TcIface.lhs | 3 +- compiler/typecheck/FamInst.lhs | 115 +++++++------ compiler/typecheck/TcGenGenerics.lhs | 5 +- compiler/typecheck/TcInstDcls.lhs | 144 ++++++++++------ compiler/typecheck/TcMType.lhs | 16 ++- compiler/types/CoAxiom.lhs | 40 ++++- compiler/types/Coercion.lhs | 5 +- compiler/types/FamInstEnv.lhs | 186 +++++++++++++-------- compiler/vectorise/Vectorise/Generic/PAMethods.hs | 4 +- compiler/vectorise/Vectorise/Generic/PData.hs | 8 +- 10 files changed, 326 insertions(+), 200 deletions(-) Diff suppressed because of size. To see it, use: git show 5765248bbcc55a65e39e2e097a973071889cba67