[GHC] #7795: panic! the impossible happened

GHC cvs-ghc at haskell.org
Tue Mar 26 15:54:25 CET 2013


#7795: panic! the impossible happened
-------------------------+--------------------------------------------------
Reporter:  guest         |          Owner:                  
    Type:  bug           |         Status:  new             
Priority:  normal        |      Component:  GHCi            
 Version:  7.4.2         |       Keywords:                  
      Os:  Windows       |   Architecture:  Unknown/Multiple
 Failure:  None/Unknown  |      Blockedby:                  
Blocking:                |        Related:                  
-------------------------+--------------------------------------------------
 Got the following in ghch

 *Calc> :l Calc
 [1 of 1] Compiling Calc             ( Calc.hs, interpreted )
 ghc.exe: panic! (the 'impossible' happened)
   (GHC version 7.4.2 for i386-unknown-mingw32):
         nameModule show{tv a17H}

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

 --------------------
 compiling the following code
 --------------------

 module Calc where

 --Type for my calculation list
 data CalcExp =
    Operator Op |
    Number Integer
       deriving (show)

 -- Number type
 --data Number = Number Integer

 -- Operator type
 data Op =
    Mlt |
    Dvd |
    Add |
    Sbt

 -- Operator function
 operate :: CalcExp -> CalcExp -> CalcExp -> Integer
 operate (Operator Mlt) (Number a) (Number b) = a * b
 operate (Operator Dvd) (Number a) (Number b) = div a b
 operate (Operator Add) (Number a) (Number b) = a + b
 operate (Operator Sbt) (Number a) (Number b) = a - b

 -- Do calcultation
 --calc :: [CalcExp] -> [CalcExp] -> Integer

 -- Resulve calc
 rCalc :: [CalcExp] -> Integer
 rCalc (exps) = rCalc' exps [] where
    rCalc' :: [CalcExp] -> [CalcExp] -> Integer
    rCalc' ((Operator op):exps) ((Number nA):(Number nB):[]) = operate
 (Operator op) (Number nA) (Number nB)
    rCalc' ((Operator op):exps) ((Number nA):(Number nB):stack) = rCalc'
 exps ((Number (operate (Operator op) (Number nA) (Number nB))):stack)
    rCalc' ((Number n):exps) (stack) = rCalc' exps ((Number n):stack)
    rCalc' (a) (b) = error "Calculation failed"

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



More information about the ghc-tickets mailing list