#4398: Panic with FlexibleContexts and rewrite rules
---------------------------------+------------------------------------------
Reporter: batterseapower | Owner:
Type: bug | Status: merge
Priority: normal | Milestone:
Component: Compiler | Version: 6.12.1
Keywords: | Testcase: simplCore/should_compile/T4398
Blockedby: | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: Compile-time crash
---------------------------------+------------------------------------------
Changes (by simonpj):
* status: new => merge
* testcase: => simplCore/should_compile/T4398
Comment:
Fundamentally you can't do this. Rewrite rules are run by the simplifier,
and it knows nothing of instance declarations etc. So any evidence
(dictionaries) needed on the RHS must be available on the LHS of the rule.
But there shouldn't be a panic. I've improved matters as far as giving a
(still slightly opaque) warning, and discarding the rule, rather than
panicing.
{{{
Thu Oct 21 09:54:02 BST 2010 [email protected]
* Improve rule checking, to fix panic Trac #4398
Lots of comments with decomposeRuleLhs
M ./compiler/deSugar/Desugar.lhs -9 +4
M ./compiler/deSugar/DsBinds.lhs -75 +82
Thu Oct 21 09:50:30 BST 2010 [email protected]
* Improve the simple expression optimiser so it does simple beta
reduction
M ./compiler/coreSyn/CoreSubst.lhs -31 +43
}}}
I think this is worth merging.
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4398#comment:1>
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