> lips> ghc-4.04 -O -c -fglasgow-exts MonadLibrary.lhs
>
> panic! (the `impossible' happened):
> mk_cpr_let: not a product
> forall a{-ruq-} b{-rur-}.
> (a{-ruq-} -> b{-rur-})
> -> MonadLibrary.StateM{-r2o,x-} m{-a30Y-} s{-a30Z-} a{-ruq-}
> -> MonadLibrary.StateM{-r2o,x-} m{-a30Y-} s{-a30Z-} b{-rur-}
This is a genuine bug in the (new) CPR analysis. I've boiled it down
a bit and sent it off to Kevin Glynn whose analyser it is.
To avoid it, you need to switch CPR analysis off. Alas, we didn't give
you a way to do so! So, you can check out
the current GHC from the repository and use "-fno-cpr" (which I've just
added), or you can
remove the line "-fcpr-analyse" from ghc/driver/ghc.lprl and re-make.
In your binary distribution you can do the same thing to ghc*.
Either way, -fno-cpr will be in patch-level 1 version of 4.04, and
I hope Kevin will have a fix for his analyser by then as well.
Thanks for reporting this one.
Simon
RE: ghc-4.04 -O: panic! mk_cpr_let: not a product
Simon Peyton-Jones Mon, 23 Aug 1999 17:25:33 +0200 (MET DST)
- ghc-4.04 -O: panic! mk_cpr_let: not a product Patrik Jansson
- Simon Peyton-Jones
