"panic! (the `impossible' happened): Prelude.head: empty list

Ian Lynagh igloo at earth.li
Fri Oct 14 15:51:26 EDT 2005


When I try to compile this module:

-----------------------------------
module Q where

data FooBar a b = Foo | Bar

data P a b = P0 | P1 (FooBar a b)

data PS p a c where
    (:<=>) :: p a b -> p b c -> PS p a c

f :: PS P a c -> Int
f ((P1 _ :: P a b)      :<=> (P0 :: P b c))          = undefined
f ((P1 Bar :: P a b)    :<=> (P1 Bar :: P b c))      = undefined
f (P1 (_ :: FooBar a b) :<=> P1 (Bar :: FooBar b c)) = undefined
-----------------------------------

I get this panic from ghc 6.4.1:

$ ghc -fglasgow-exts -c Q.hs
ghc-6.4.1: panic! (the `impossible' happened, GHC version 6.4.1):
        Prelude.head: empty list

Please report it as a compiler bug to glasgow-haskell-bugs at haskell.org,
or http://sourceforge.net/projects/ghc/.

$


Thanks
Ian




More information about the Glasgow-haskell-bugs mailing list