[Haskell-cafe] Type alias in constraints
Sylvain Henry
sylvain at haskus.fr
Fri Oct 14 18:25:35 UTC 2016
On 14/10/2016 19:31, Tom Ellis wrote:
> On Fri, Oct 14, 2016 at 07:25:40PM +0200, Sylvain Henry wrote:
>> I have been using constraints of the form:
>>
>> xxx :: forall x xs ys zs m.
>> ( Monad m
>> , zs ~ Union (Filter x xs) ys
>> , Catchable x xs
>> , Liftable (Filter x xs) zs
>> , Liftable ys zs
>> ) => Variant xs -> (x -> Flow m ys) -> Flow m zs
>>
>> Where "zs" is used as a type alias. Now with GHC8 and
>> -Wredundant-constraints, GHC complaints that "zs" is redundant
>> (indeed it is).
> Why is it redundant? Surely a redundant constraint is one you can freely
> remove. I don't see any constraint you can remove in that type.
I should have checked on Trac, it has been discussed... today:
https://ghc.haskell.org/trac/ghc/ticket/12700
Also related:
https://ghc.haskell.org/trac/ghc/ticket/12702
https://ghc.haskell.org/trac/ghc/ticket/11474
I will comment there.
Sylvain
More information about the Haskell-Cafe
mailing list