{"action":"created","issue":{"url":"https://api.github.com/repos/haskell-suite/haskell-src-exts/issues/318","repository_url":"https://api.github.com/repos/haskell-suite/haskell-src-exts","labels_url":"https://api.github.com/repos/haskell-suite/haskell-src-exts/issues/318/labels{/name}","comments_url":"https://api.github.com/repos/haskell-suite/haskell-src-exts/issues/318/comments","events_url":"https://api.github.com/repos/haskell-suite/haskell-src-exts/issues/318/events","html_url":"https://github.com/haskell-suite/haskell-src-exts/issues/318","id":168490524,"number":318,"title":"idea: relax `applyFixities` type","user":{"login":"int-e","id":2060964,"avatar_url":"https://avatars.githubusercontent.com/u/2060964?v=3","gravatar_id":"","url":"https://api.github.com/users/int-e","html_url":"https://github.com/int-e","followers_url":"https://api.github.com/users/int-e/followers","following_url":"https://api.github.com/users/int-e/following{/other_user}","gists_url":"https://api.github.com/users/int-e/gists{/gist_id}","starred_url":"https://api.github.com/users/int-e/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/int-e/subscriptions","organizations_url":"https://api.github.com/users/int-e/orgs","repos_url":"https://api.github.com/users/int-e/repos","events_url":"https://api.github.com/users/int-e/events{/privacy}","received_events_url":"https://api.github.com/users/int-e/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-07-30T22:40:47Z","updated_at":"2016-08-02T20:25:07Z","closed_at":null,"body":"Currently `applyFixities` has this type:\r\n\r\n    applyFixities :: (Monad m, AppFixity ast) => [Fixity] -> ast SrcSpanInfo -> m (ast SrcSpanInfo)\r\n\r\nIt would be straightforward to relax it to\r\n\r\n    applyFixities :: (Monad m, AppFixity ast, Monoid l) => [Fixity] -> ast l  -> m (ast l)\r\n\r\nif one provides a `Monoid` instance for `SrcSpan` and replaces the two calls to `<++>` in the `Language.Haskell.Exts.Fixity` module by `mappend` (or `<>`). This would allow `applyFixities` to be used on ASTs without annotations (using the `()` monoid).\r\n\r\n(Technically this only requires a binary operation, so `Semigroup` would be a more appropriate typeclass, but that would add a new dependency.)"},"comment":{"url":"https://api.github.com/repos/haskell-suite/haskell-src-exts/issues/comments/237032177","html_url":"https://github.com/haskell-suite/haskell-src-exts/issues/318#issuecomment-237032177","issue_url":"https://api.github.com/repos/haskell-suite/haskell-src-exts/issues/318","id":237032177,"user":{"login":"mpickering","id":1216657,"avatar_url":"https://avatars.githubusercontent.com/u/1216657?v=3","gravatar_id":"","url":"https://api.github.com/users/mpickering","html_url":"https://github.com/mpickering","followers_url":"https://api.github.com/users/mpickering/followers","following_url":"https://api.github.com/users/mpickering/following{/other_user}","gists_url":"https://api.github.com/users/mpickering/gists{/gist_id}","starred_url":"https://api.github.com/users/mpickering/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpickering/subscriptions","organizations_url":"https://api.github.com/users/mpickering/orgs","repos_url":"https://api.github.com/users/mpickering/repos","events_url":"https://api.github.com/users/mpickering/events{/privacy}","received_events_url":"https://api.github.com/users/mpickering/received_events","type":"User","site_admin":false},"created_at":"2016-08-02T20:25:07Z","updated_at":"2016-08-02T20:25:07Z","body":"Explicit representing the empty `SrcSpan` using a sum type means that the fields can't be unpacked. I don't think that it's worth the tradeoff. "}}
{"actor":{"display_login":"mpickering"}}