newtype deriving panic

Simon Peyton-Jones simonpj at microsoft.com
Thu Jan 23 09:15:31 EST 2003


Thanks. Should be rejected, because MonadState takes two type
parameters, and 
the deriving stuff only allows one.  You might be able to say 
	...deriving(MonadState m)
or some such

I'll fix up the compiler to reject it more gracefully

Simon

| -----Original Message-----
| From: Dean Herington [mailto:heringto at cs.unc.edu]
| Sent: 22 January 2003 21:45
| To: glasgow-haskell-bugs at haskell.org
| Subject: newtype deriving panic
| 
| Given this program:
| 
| {-# OPTIONS -fglasgow-exts #-}
| 
| module Bug1 where
| 
| import Control.Monad.State
| 
| newtype T a = T (StateT Int IO a) deriving (MonadState)
| 
| 
| GHC 5.04.2 chokes:
| 
| ghc-5.04.2: chasing modules from: Bug1
| Compiling Bug1             ( Bug1.hs, ./Bug1.o )
| ghc-5.04.2: panic! (the `impossible' happened, GHC version 5.04.2):
|         basicTypes/VarEnv.lhs:173: Non-exhaustive patterns in case
| 
| 
| Of course, the program is in error.  (It should derive `MonadState
Int`.)
| 
| 
| _______________________________________________
| Glasgow-haskell-bugs mailing list
| Glasgow-haskell-bugs at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs



More information about the Glasgow-haskell-bugs mailing list