You can avoid the error by replacing eval :: Exp -> (->) Memory Integer
with eval :: Exp -> Memory -> Integer which should be the same, but apparently isn't internally in GHC. This is definitely a bug. Sjoerd On Oct 28, 2012, at 4:55 AM, José Romildo Malaquias <[email protected]> wrote: > Hello. > > Today I wrote a small program to experiment with the Applicative > class. The program is supposed to use an "applicative reader", similar > to a "monad reader", to evaluate arithmetic expressions. > > But when compiling the program with ghc-7.6.1, I get the following message: > > $ ghc --make applicative-eval > [1 of 1] Compiling Main ( applicative-eval.hs, > applicative-eval.o ) > ghc: panic! (the 'impossible' happened) > (GHC version 7.6.1 for x86_64-unknown-linux): > expectJust cpeBody:collect_args > > Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug > > If the line > > eval (Let s a b) = \m -> eval b ((s,eval a m):m) > > is commented out, the program compiles without problems. > > Is this a known issue with the compiler? > > The source code is attached. > > Romildo > <applicative-eval.hs>_______________________________________________ > Glasgow-haskell-users mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users _______________________________________________ Glasgow-haskell-users mailing list [email protected] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
