#4355: Coud not deduce (Typeable a) from context (Typeable a, …)
---------------------------------------------+------------------------------
Reporter: maltem | Owner: simonpj
Type: bug | Status: closed
Priority: high | Milestone: 7.0.1
Component: Compiler (Type checker) | Version: 7.1
Resolution: fixed | Keywords:
Testcase: typecheck/should_compile/T4355 | Blockedby:
Difficulty: | Os: Unknown/Multiple
Blocking: | Architecture: Unknown/Multiple
Failure: None/Unknown |
---------------------------------------------+------------------------------
Changes (by simonpj):
* status: new => closed
* testcase: => typecheck/should_compile/T4355
* resolution: => fixed
Comment:
Excellent. Fixed by this lovely patch:
{{{
Fri Oct 8 06:37:51 PDT 2010 [email protected]
* Beautiful new approach to the skolem-escape check and untouchable
Instead of keeping a *set* of untouchable variables in each
implication contraints, we keep a *range* of uniques for the
*touchable* variables of an implication. This are precisely
the ones we would call the "existentials" if we were French.
It turns out that the code is more efficient, and vastly easier
to get right, than the set-based approach.
Fixes Trac #4355 among others
M ./compiler/ghci/RtClosureInspect.hs -2 +2
M ./compiler/typecheck/TcBinds.lhs -2 +2
M ./compiler/typecheck/TcMType.lhs -8 +8
M ./compiler/typecheck/TcPat.lhs -4 +5
M ./compiler/typecheck/TcRnDriver.lhs -5 +5
M ./compiler/typecheck/TcRnMonad.lhs -13 +27
M ./compiler/typecheck/TcRnTypes.lhs -4 +29
M ./compiler/typecheck/TcRules.lhs -2 +2
M ./compiler/typecheck/TcSMonad.lhs -19 +23
M ./compiler/typecheck/TcSimplify.lhs -15 +14
M ./compiler/typecheck/TcSplice.lhs -2 +2
M ./compiler/typecheck/TcUnify.lhs -13 +11
}}}
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4355#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs