On Fri, 2004-08-06 at 15:54, MR K P SCHUPKE wrote:

>       class OnlyInt a 
>       instance OnlyInt Int
>       instance Fail () => OnlyInt x
> 
> Where Fail is a class with no instances, that is not exported!
> 
> If you try and add an instance to OnlyInt the program will fail
> with overlapping instances.

Very nice.

However I think I still need to use allow-overlapping-instances because
[Char] and GConfPrimitiveValue a => [a] still overlap. If closes classes
were a language feature the typechecker would see that the do not
overlap since there is no instance GConfPrimitiveValue Char.

Duncan

_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to