[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