Good point, I hadn't considered the perspective of other compilers. In that case, I could be persuaded to introduce a separate pragma like -XTypeEqualities, and have -XGADTs and -XTypeFamilies imply -XTypeEqualities for backwards compatibility.
Ryan S. On Fri, Aug 5, 2016 at 2:27 PM, Edward Kmett <[email protected]> wrote: > TypeOperators as a language extension doesn't require a whole lot on the > behalf of implementors today. They basically just have to add fixity > handling to types. This is a no-brainer for a compiler implementor. It is a > simple elaboration and some extra cases to deal with in their parser. The > typechecker changes are obvious. > > Asking them to do all the things to support 'some typechecking details' that > aren't entirely trivial to support that same extension is an awful big ask! > OutsideIn(X) is a big paper to read, let alone implement, and the only > compiler to even try handling (~) today is GHC. > > -Edward > > On Fri, Aug 5, 2016 at 2:15 PM, Ryan Scott <[email protected]> wrote: >> >> Hi David, >> >> > Could we get a separate LANGUAGE pragma just for equality constraints? >> >> I think we should, and I don't think we'd even need to introduce a new >> pragma, since there's already a perfectly good one: -XTypeOperators! >> After all, there's nothing really that special about (~) other than >> some typechecking details. A fix to Trac #9194 [1] would give us this. >> >> Ryan S. >> ----- >> [1] https://ghc.haskell.org/trac/ghc/ticket/9194 >> _______________________________________________ >> ghc-devs mailing list >> [email protected] >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > > _______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
