[Haskell-cafe] Injective type families for GHC - syntax proposals
flicky frans
flickyfrans at gmail.com
Thu Sep 18 15:02:53 UTC 2014
Plus a b :: (result :: Nat)
That looks quite unintuitive to me, since `result' reads like a
variable of type Nat. This is similar to legal (with KindSignatures)
(5 :: (Int :: *)).
Maybe it would be better to use something like associated type synonyms?
type family (r ~ *) => Id a :: r | r -> a where
type family (res ~ *) => G a b c :: r | res -> a b where
type family (result ~ Nat) => Plus a b :: result | result a -> b,
result b -> a where
More information about the Haskell-Cafe
mailing list