summaryrefslogtreecommitdiff
path: root/compiler/deSugar
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2012-09-28 15:52:00 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2012-09-28 15:52:18 +0100
commit9a058b173a6e12296ac302a6ccd22d9c8f0a09d0 (patch)
treed6239cafbee4ee5901666fc65364ce51d502574d /compiler/deSugar
parent6a9542aff4a508fb5175193948e07bb50062ba75 (diff)
downloadhaskell-9a058b173a6e12296ac302a6ccd22d9c8f0a09d0.tar.gz
Refactor the handling of kind errors
* Treat kind-equality constraints as *derived* equalities, with no evidence. That is really what they are at the moment. * Get rid of EvKindCast and friends. * Postpone kind errors properly to the constraint solver (lots of small knock-on effects) I moved SwapFlag to BasicTypes as well
Diffstat (limited to 'compiler/deSugar')
-rw-r--r--compiler/deSugar/DsBinds.lhs4
1 files changed, 0 insertions, 4 deletions
diff --git a/compiler/deSugar/DsBinds.lhs b/compiler/deSugar/DsBinds.lhs
index b418c8d592..95d36f3879 100644
--- a/compiler/deSugar/DsBinds.lhs
+++ b/compiler/deSugar/DsBinds.lhs
@@ -741,10 +741,6 @@ dsEvTerm (EvCast tm co)
-- 'v' is always a lifted evidence variable so it is
-- unnecessary to call varToCoreExpr v here.
-dsEvTerm (EvKindCast v co)
- = do { v' <- dsEvTerm v
- ; dsTcCoercion co $ (\_ -> v') }
-
dsEvTerm (EvDFunApp df tys tms) = do { tms' <- mapM dsEvTerm tms
; return (Var df `mkTyApps` tys `mkApps` tms') }
dsEvTerm (EvCoercion co) = dsTcCoercion co mkEqBox