Re: [Haskell-cafe] closed classes

Closed t => ???? You want a closed type? The parameter to a class is a type... Actually if you allow undecidable instances you can use the generic instance to close the class 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. Keean.

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
participants (2)
-
Duncan Coutts
-
MR K P SCHUPKE