> On Apr 6, 2021, at 7:44 AM, Anthony Clayden <anthony_clay...@clear.net.nz> 
> wrote:
> 
> > But why does this matter?
> 
> Because I want the semantics of that equality constraint, without switching 
> on any of these, which I don't otherwise use:
> 
> GADTs
> TypeFamilies
> TypeOperators
> 
> And if that means I can't use infix `~` in my constraints, I'll put up with 
> that. (I'd user-define a conventional class, say `TypeCast`. Could be that 
> has to be defined in terms of `~`, in which case I'd put that in a shim 
> module as the only place with those extensions.)
> 

A shim module would work for you here, indeed.

Individuals' opinions of extensions will differ, but TypeOperators is much less 
powerful than either of the others: it affects only parsing, and in a fully 
backward-compatible way.

Richard
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

Reply via email to