[Haskell-cafe] type refinement to a typeclass constrained type
daniil.elovkov at googlemail.com
Fri Mar 23 05:45:19 EDT 2007
btw, this works :)
data Cnd c where
In :: (Eq (c a)) => c a -> [c a] -> Cnd c
check :: (Eq (c a)) => Cnd c -> Bool
check (x `In` items) = x `elem` items
That's nice :)
2007/3/23, Simon Peyton-Jones <simonpj at microsoft.com>:
> | Interesting thing though, it's the same on 6.4.1.
> | Wasn't this brokenness introduced in 6.6, but rather has lingered in
> | ghc for a while, or since the introduction of GADTs, at all?
> No it's always been broken. I finally made GADTs and type classes work together in the HEAD a few months ago, using implication constraints for the first time.
More information about the Haskell-Cafe