Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : overlapping-tyfams
http://hackage.haskell.org/trac/ghc/changeset/1a3c0d345ba1f514f747b7791260672d74d1cd10 >--------------------------------------------------------------- commit 1a3c0d345ba1f514f747b7791260672d74d1cd10 Author: Richard Eisenberg <e...@cis.upenn.edu> Date: Sat Dec 1 17:37:13 2012 -0500 Used a GADT to control appropriate use of functions on singleton axioms. The list of branches in CoAxioms and in FamInsts is now a BranchList b, where the type index b is either Branched or Unbranched. A handful of functions work only on singleton (unbranched) axioms, and with this change, the type checker verifies that we are calling these functions appropriately. compiler/basicTypes/MkId.lhs | 14 +- compiler/coreSyn/CoreLint.lhs | 2 +- compiler/coreSyn/MkExternalCore.lhs | 2 +- compiler/iface/IfaceType.lhs | 2 +- compiler/iface/MkIface.lhs | 8 +- compiler/iface/TcIface.lhs | 11 +- compiler/iface/TcIface.lhs-boot | 4 +- compiler/main/GHC.hs | 2 +- compiler/main/HscTypes.lhs | 19 ++- compiler/main/TidyPgm.lhs | 2 +- compiler/typecheck/FamInst.lhs | 22 ++-- compiler/typecheck/TcDeriv.lhs | 4 +- compiler/typecheck/TcEnv.lhs | 2 +- compiler/typecheck/TcEvidence.lhs | 16 +- compiler/typecheck/TcGenDeriv.lhs | 6 +- compiler/typecheck/TcGenGenerics.lhs | 4 +- compiler/typecheck/TcInstDcls.lhs | 26 ++-- compiler/typecheck/TcRnDriver.lhs | 4 +- compiler/typecheck/TcRnTypes.lhs | 2 +- compiler/typecheck/TcSplice.lhs | 8 +- compiler/typecheck/TcType.lhs | 6 +- compiler/types/Coercion.lhs | 29 ++-- compiler/types/FamInstEnv.lhs | 153 +++++++++--------- compiler/types/OptCoercion.lhs | 4 +- compiler/types/TyCon.lhs | 179 ++++++++++++++++----- compiler/types/Type.lhs | 2 +- compiler/types/TypeRep.lhs | 2 +- compiler/vectorise/Vectorise.hs | 3 +- compiler/vectorise/Vectorise/Env.hs | 2 +- compiler/vectorise/Vectorise/Generic/PADict.hs | 3 +- compiler/vectorise/Vectorise/Generic/PAMethods.hs | 5 +- compiler/vectorise/Vectorise/Generic/PData.hs | 6 +- compiler/vectorise/Vectorise/Type/Env.hs | 14 +- compiler/vectorise/Vectorise/Utils/PADict.hs | 4 +- 34 files changed, 333 insertions(+), 239 deletions(-) Diff suppressed because of size. To see it, use: git show 1a3c0d345ba1f514f747b7791260672d74d1cd10 _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc