[GHC] #772: checkPrecMatch

GHC trac at galois.com
Fri May 19 05:52:37 EDT 2006


#772: checkPrecMatch
-------------------------+--------------------------------------------------
    Reporter:  guest     |        Owner:         
        Type:  bug       |       Status:  new    
    Priority:  normal    |    Milestone:  6.4.2  
   Component:  Compiler  |      Version:  6.4.2  
    Severity:  normal    |   Resolution:         
    Keywords:            |   Difficulty:  Unknown
Architecture:  Unknown   |           Os:  Windows
-------------------------+--------------------------------------------------
Old description:

> *Research> :r
> Compiling Statistics.DescriptiveAnalysis.KeyHistoryListImpl (
> ./Statistics/Descr
> iptiveAnalysis/KeyHistoryListImpl.hs, interpreted )
> : panic! (the `impossible' happened, GHC version 6.4.2):
>         checkPrecMatch
>
> Please report this as a compiler bug.  See:
>   http://www.haskell.org/ghc/reportabug
> Research>
>
> This happened when i compile in GHCI:
>
> module Test where
>
> class TestInfo a where
>
> type Bla = String
>
> -- GADT Descriptors
> data Descriptor where
>    BA :: String -> Descriptor
>    GA :: (Show a, TestInfo a) => Either a (String, String) -> Descriptor
>    SA :: String -> Descriptor
>    AA :: String -> [Bla]-> Descriptor
>    TA :: Bla -> Bla -> Bla -> Descriptor
>
> instance Eq Descriptor where
>   (BA descr1) == (BA descr2) = descr1 == descr2
>   (GA grpsubj) == (GA grpsubj2)  = show grpsubj == show grpsubj2  --
> might not be correct
>   (SA descr) == (SA descr2) = descr == descr2
>   (AA descr keys) == (AA descr2 keys2) = (descr == descr2) && (keys ==
> keys2)
>   (TA orikey key1 key2) == (TA orikeyB key1B key2B) = (orikey == orikeyB)
> && (key1 == key1B) && (key2 == key2B)
>   (==) = error "Error pattern not found in (==)"
>
> -- the last line give the compilation error
>
> Peter, peteanom at gmail.com

New description:

 {{{
 *Research> :r
 Compiling Statistics.DescriptiveAnalysis.KeyHistoryListImpl (
 ./Statistics/DescriptiveAnalysis/KeyHistoryListImpl.hs, interpreted )
 : panic! (the `impossible' happened, GHC version 6.4.2):
         checkPrecMatch

 Please report this as a compiler bug.  See:
   http://www.haskell.org/ghc/reportabug
 }}}

 This happened when i compile in GHCI:
 {{{
 module Test where

 class TestInfo a where

 type Bla = String

 -- GADT Descriptors
 data Descriptor where
    BA :: String -> Descriptor
    GA :: (Show a, TestInfo a) => Either a (String, String) -> Descriptor
    SA :: String -> Descriptor
    AA :: String -> [Bla]-> Descriptor
    TA :: Bla -> Bla -> Bla -> Descriptor

 instance Eq Descriptor where
   (BA descr1) == (BA descr2) = descr1 == descr2
   (GA grpsubj) == (GA grpsubj2)  = show grpsubj == show grpsubj2  -- might
 not be correct
   (SA descr) == (SA descr2) = descr == descr2
   (AA descr keys) == (AA descr2 keys2) = (descr == descr2) && (keys ==
 keys2)
   (TA orikey key1 key2) == (TA orikeyB key1B key2B) = (orikey == orikeyB)
 && (key1 == key1B) && (key2 == key2B)
   (==) = error "Error pattern not found in (==)"
 }}}
 The last line give the compilation error

 Peter, peteanom at gmail.com

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/772>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list