Tomasz Zielonka wrote: > On Mon, Mar 26, 2007 at 09:18:34PM -0700, Stefan O'Rear wrote: >> [EMAIL PROTECTED]:/tmp$ cat A.lhs >>> {-# OPTIONS_GHC -fglasgow-exts #-} >>> >>> data IsIntT x where IsIntT :: IsIntT Int >>> >>> class IsIntC a where isInt :: IsIntT a >>> instance IsIntC Int where isInt = IsIntT >>> >>> newtype Foo = Foo Int deriving(IsIntC) > > I think newtype deriving should be rejected in this case. Maybe this is > the real problem here? > > Best regards > Tomek
On reflection, I agree. The derived instance would have to be > instance IsIntC Foo where > isInt :: IsIntT Foo > isInt = isIntT which cannot type check. Only > instance IsIntC Foo where > isInt :: IsIntT Foo > isInt = undefined is possible. _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users