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

Reply via email to