diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2012-09-28 15:52:00 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2012-09-28 15:52:18 +0100 |
commit | 9a058b173a6e12296ac302a6ccd22d9c8f0a09d0 (patch) | |
tree | d6239cafbee4ee5901666fc65364ce51d502574d /compiler/deSugar | |
parent | 6a9542aff4a508fb5175193948e07bb50062ba75 (diff) | |
download | haskell-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.lhs | 4 |
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 |