#5300: Infinite context reduction stack overflow
---------------------------------+------------------------------------------
Reporter: dsf | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.0.3 | Keywords:
Testcase: | Blockedby:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: Compile-time crash
---------------------------------+------------------------------------------
The contrived example below gets a Context reduction stack overflow error
no matter how big you make the context reduction stack. I'm not sure
whether this constitutes a fixable bug or not.
{{{
{-# LANGUAGE FunctionalDependencies, MultiParamTypeClasses #-}
import Control.Monad.State (StateT)
class C1 a b c | a -> b
class C2 a b c
data T b = T
f1 :: (Monad m, C1 a b c) => a -> StateT (T b) m a
f1 f = undefined
f2 :: (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) => a1 -> StateT (T b2) m a2
f2 fm = f1 fm >>= return . undefined
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5300>
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