haskell-suite/haskell-src-exts — pull request #49 by mgsloan (2013-09-20 04:40:03+00:00)
Title: Fixities improvements

This addresses issues in https://github.com/haskell-suite/haskell-src-exts/issues/4

I hope it's acceptable to use the `FlexibleInstances` extension, as https://github.com/haskell-suite/haskell-src-exts/issues/46 will benefit from it as well.

It's nearly possible to avoid `SrcSpanInfo`, by making the instances look like `SrcInfo loc => AppFixity (Exp loc)`. However, the instances for `Pat` and `Exp` use `(<++>)` which is for `SrcSpanInfo`. One way to get around this would be to add a `Monoid loc` constraint, which would require making `Monoid` instances for `SrcSpanInfo` and `SrcSpan`. See https://github.com/haskell-suite/haskell-src-exts/issues/48

The last change actually makes `FlexibleInstances` needed as well - it adds `instance AppFixity a => AppFixity [a]`.