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
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users