[commit: ghc] master: Fix type-equality in the type checker (fixes Trac #8553) (985663e)
git at git.haskell.org
git at git.haskell.org
Fri Nov 22 15:50:29 UTC 2013
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/985663ea47487a9e567814ba000e81d65358bf02/ghc
>---------------------------------------------------------------
commit 985663ea47487a9e567814ba000e81d65358bf02
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Fri Nov 22 15:48:02 2013 +0000
Fix type-equality in the type checker (fixes Trac #8553)
For horrible reasons (Note [Comparison with OpenTypeKind] in Type), the
function Type.eqType currently equates OOpenKind with *. This may or may
not be a good idea (it's certainly a revolting one) but it DOES NOT WORK
in the type checker, which *does* need to distinguish OpenKind and *.
Rather than solve the underlying problem (I have some ideas) I just
introduced a new, and very short, simple, straightforward function
TcType.tcEqType to do the job.
>---------------------------------------------------------------
985663ea47487a9e567814ba000e81d65358bf02
compiler/typecheck/TcCanonical.lhs | 16 ++++++++--------
compiler/typecheck/TcGenDeriv.lhs | 4 ++--
compiler/typecheck/TcInteract.lhs | 19 +++++++++----------
compiler/typecheck/TcSMonad.lhs | 6 +++---
compiler/typecheck/TcSimplify.lhs | 2 +-
compiler/typecheck/TcType.lhs | 32 +++++++++++++++++++++++++++++++-
compiler/typecheck/TcTypeNats.hs | 34 +++++++++++++++++-----------------
compiler/types/Type.lhs | 3 +++
8 files changed, 74 insertions(+), 42 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 985663ea47487a9e567814ba000e81d65358bf02
More information about the ghc-commits
mailing list