have any type checker loop bugs been fixed recently?
I have a piece of code for which:
GHCi 6.6.1 reports an error
GHCi, version 6.9.20080217 loops
GHCi, version 6.9.20080514 reports an error
and I just want to make sure that this is a known and fixed
bug, not something that has come out of hiding too briefly
to be fixed properly.
Claus
--
this erroneous code fragment sends `GHCi, version 6.9.20080217` into a loop:
{{{
{-# OPTIONS_GHC -fglasgow-exts #-}
data HsDoc id
= DocEmpty
| DocParagraph (HsDoc id)
gfoldl' :: (forall a b . c (a -> b) -> a -> c b) -> (forall g . g -> c g) -> a
-> c a
gfoldl' k z hsDoc = case hsDoc of
DocEmpty -> z DocEmpty
(DocParagraph hsDoc) -> z DocParagraph `k` hsDoc
}}}
I haven't waited more than a couple of minutes, because GHCi 6.6.1 immediately
finds the bug:
{{{
C:/Documents and Settings/cr3/Desktop/Typo.hs:10:2:
Couldn't match expected type `a' (a rigid variable)
against inferred type `HsDoc id'
`a' is bound by the type signature for `gfoldl''
at C:/Documents and Settings/cr3/Desktop/Typo.hs:8:77
In the pattern: DocEmpty
In a case alternative: DocEmpty -> z DocEmpty
In the expression:
case hsDoc of
DocEmpty -> z DocEmpty
(DocParagraph hsDoc) -> (z DocParagraph) `k` hsDoc
Failed, modules loaded: none.
}}}
I was about to create a ticket for this when I recalled having a
newer ghc to check with and, surprise, GHCi, version 6.9.20080514
does not suffer from this issue.
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc