[ ghc-Bugs-415185 ] Impossible Happening (deriving problem?)

noreply@sourceforge.net noreply@sourceforge.net
Fri, 04 May 2001 07:51:55 -0700


Bugs item #415185, was updated on 2001-04-10 09:40
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=108032&aid=415185&group_id=8032

Category: Compiler
Group: None
>Status: Closed
>Resolution: Fixed
Priority: 5
Submitted By: Jeffrey R. Lewis (lewie)
Assigned to: Nobody/Anonymous (nobody)
Summary: Impossible Happening (deriving problem?)

Initial Comment:
The (hopefully) attached file does the impossible:

ghc     -c P.hs -o P.o
ghc-5.00: panic! (the `impossible' happened, GHC
version 5.00):
	<<loop>>

If the types `NoteFun' and `PhraseFun' are replaced by
`()', the bug goes away.

----------------------------------------------------------------------

>Comment By: Simon Peyton Jones (simonpj)
Date: 2001-05-04 07:51

Message:
Logged In: YES 
user_id=50165


GHC was falling into a black hole when type checking a 
recursive
group of type declarations including a chain of type 
synonyms.

  type PhraseFun = PMap -> Float
  type PMap      = () -> Player
  data Player    = P.MkT P.PhraseFun

Reason: too much consistency checking in TcMonoType.
Easily fixed using the existing wimp_out hack, but it's a 
mess.
This commit fixes it for the 5.00 branch but I'll do 
something
better in the head shortly.






----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=108032&aid=415185&group_id=8032