Ticket #1754: TypeEq.hs
| File TypeEq.hs, 450 bytes (added by guest, 6 years ago) |
|---|
| Line | |
|---|---|
| 1 | {-# LANGUAGE OverlappingInstances, UndecidableInstances #-} |
| 2 | module Data.TypeEq ( |
| 3 | -- * Type equality |
| 4 | TypeEq, |
| 5 | typeEq |
| 6 | ) where |
| 7 | -- Data |
| 8 | import Data.Boolean |
| 9 | |
| 10 | class TypeEq type1 type2 result | type1 type2 -> result where |
| 11 | typeEq :: type1 -> type2 -> result |
| 12 | |
| 13 | instance TypeEq soleType soleType True where |
| 14 | typeEq _ _ = true |
| 15 | |
| 16 | instance (result ~ False) => TypeEq type1 type2 result where |
| 17 | typeEq _ _ = false |
