{"action":"created","issue":{"url":"https://api.github.com/repos/reflex-frp/reflex-dom-contrib/issues/57","repository_url":"https://api.github.com/repos/reflex-frp/reflex-dom-contrib","labels_url":"https://api.github.com/repos/reflex-frp/reflex-dom-contrib/issues/57/labels{/name}","comments_url":"https://api.github.com/repos/reflex-frp/reflex-dom-contrib/issues/57/comments","events_url":"https://api.github.com/repos/reflex-frp/reflex-dom-contrib/issues/57/events","html_url":"https://github.com/reflex-frp/reflex-dom-contrib/pull/57","id":368507069,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxNjY4MDg1","number":57,"title":"Adds Semigroups to go with Monoid instances to satisfy GHC 8.4.","user":{"login":"dalaing","id":1106348,"node_id":"MDQ6VXNlcjExMDYzNDg=","avatar_url":"https://avatars0.githubusercontent.com/u/1106348?v=4","gravatar_id":"","url":"https://api.github.com/users/dalaing","html_url":"https://github.com/dalaing","followers_url":"https://api.github.com/users/dalaing/followers","following_url":"https://api.github.com/users/dalaing/following{/other_user}","gists_url":"https://api.github.com/users/dalaing/gists{/gist_id}","starred_url":"https://api.github.com/users/dalaing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dalaing/subscriptions","organizations_url":"https://api.github.com/users/dalaing/orgs","repos_url":"https://api.github.com/users/dalaing/repos","events_url":"https://api.github.com/users/dalaing/events{/privacy}","received_events_url":"https://api.github.com/users/dalaing/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-10-10T06:05:24Z","updated_at":"2018-10-10T06:45:54Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/reflex-frp/reflex-dom-contrib/pulls/57","html_url":"https://github.com/reflex-frp/reflex-dom-contrib/pull/57","diff_url":"https://github.com/reflex-frp/reflex-dom-contrib/pull/57.diff","patch_url":"https://github.com/reflex-frp/reflex-dom-contrib/pull/57.patch"},"body":"Fixes #56."},"comment":{"url":"https://api.github.com/repos/reflex-frp/reflex-dom-contrib/issues/comments/428456987","html_url":"https://github.com/reflex-frp/reflex-dom-contrib/pull/57#issuecomment-428456987","issue_url":"https://api.github.com/repos/reflex-frp/reflex-dom-contrib/issues/57","id":428456987,"node_id":"MDEyOklzc3VlQ29tbWVudDQyODQ1Njk4Nw==","user":{"login":"ElvishJerricco","id":1365692,"node_id":"MDQ6VXNlcjEzNjU2OTI=","avatar_url":"https://avatars0.githubusercontent.com/u/1365692?v=4","gravatar_id":"","url":"https://api.github.com/users/ElvishJerricco","html_url":"https://github.com/ElvishJerricco","followers_url":"https://api.github.com/users/ElvishJerricco/followers","following_url":"https://api.github.com/users/ElvishJerricco/following{/other_user}","gists_url":"https://api.github.com/users/ElvishJerricco/gists{/gist_id}","starred_url":"https://api.github.com/users/ElvishJerricco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ElvishJerricco/subscriptions","organizations_url":"https://api.github.com/users/ElvishJerricco/orgs","repos_url":"https://api.github.com/users/ElvishJerricco/repos","events_url":"https://api.github.com/users/ElvishJerricco/events{/privacy}","received_events_url":"https://api.github.com/users/ElvishJerricco/received_events","type":"User","site_admin":false},"created_at":"2018-10-10T06:45:54Z","updated_at":"2018-10-10T06:45:54Z","author_association":"NONE","body":"No big deal, but I prefer avoiding CPP like this:\r\n\r\n```haskell\r\nimport Data.Semigroup as Sem\r\n\r\ninstance Sem.Semigroup CssClass where\r\n  CssClass a <> CssClass b = CssClass (a <> b)\r\n\r\ninstance Monoid CssClass where\r\n  mempty = CssClass mempty\r\n  mappend = (Sem.<>)\r\n```\r\n\r\nThe use of the qualified import avoids warnings about a redundant import, and there's nothing wrong with the redundant definition of `mappend`.\r\n\r\nOh also, I think you could just do `deriving (Sem.Semigroup, Monoid)` in this case, and avoid most of the question altogether."}}
{"actor":{"display_login":"ElvishJerricco"}}