{"action":"created","issue":{"url":"https://api.github.com/repos/scalaz/scalaz/issues/1798","repository_url":"https://api.github.com/repos/scalaz/scalaz","labels_url":"https://api.github.com/repos/scalaz/scalaz/issues/1798/labels{/name}","comments_url":"https://api.github.com/repos/scalaz/scalaz/issues/1798/comments","events_url":"https://api.github.com/repos/scalaz/scalaz/issues/1798/events","html_url":"https://github.com/scalaz/scalaz/issues/1798","id":324636423,"number":1798,"title":"Invert dependency between Scalaz 8 IO and Scalaz 8","user":{"login":"jdegoes","id":156745,"avatar_url":"https://avatars1.githubusercontent.com/u/156745?v=4","gravatar_id":"","url":"https://api.github.com/users/jdegoes","html_url":"https://github.com/jdegoes","followers_url":"https://api.github.com/users/jdegoes/followers","following_url":"https://api.github.com/users/jdegoes/following{/other_user}","gists_url":"https://api.github.com/users/jdegoes/gists{/gist_id}","starred_url":"https://api.github.com/users/jdegoes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdegoes/subscriptions","organizations_url":"https://api.github.com/users/jdegoes/orgs","repos_url":"https://api.github.com/users/jdegoes/repos","events_url":"https://api.github.com/users/jdegoes/events{/privacy}","received_events_url":"https://api.github.com/users/jdegoes/received_events","type":"User","site_admin":false},"labels":[{"id":698928879,"url":"https://api.github.com/repos/scalaz/scalaz/labels/good%20first%20issue","name":"good first issue","color":"0e8a16","default":true},{"id":385574322,"url":"https://api.github.com/repos/scalaz/scalaz/labels/scalaz8","name":"scalaz8","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/scalaz/scalaz/milestones/14","html_url":"https://github.com/scalaz/scalaz/milestone/14","labels_url":"https://api.github.com/repos/scalaz/scalaz/milestones/14/labels","id":970508,"number":14,"title":"8.0.0","description":"","creator":{"login":"xuwei-k","id":389787,"avatar_url":"https://avatars0.githubusercontent.com/u/389787?v=4","gravatar_id":"","url":"https://api.github.com/users/xuwei-k","html_url":"https://github.com/xuwei-k","followers_url":"https://api.github.com/users/xuwei-k/followers","following_url":"https://api.github.com/users/xuwei-k/following{/other_user}","gists_url":"https://api.github.com/users/xuwei-k/gists{/gist_id}","starred_url":"https://api.github.com/users/xuwei-k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xuwei-k/subscriptions","organizations_url":"https://api.github.com/users/xuwei-k/orgs","repos_url":"https://api.github.com/users/xuwei-k/repos","events_url":"https://api.github.com/users/xuwei-k/events{/privacy}","received_events_url":"https://api.github.com/users/xuwei-k/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":15,"state":"open","created_at":"2015-02-08T15:29:52Z","updated_at":"2018-05-19T15:09:27Z","due_on":null,"closed_at":null},"comments":23,"created_at":"2018-05-19T15:08:58Z","updated_at":"2018-05-20T00:49:08Z","closed_at":null,"author_association":"MEMBER","body":"Scalaz 8 IO is integrated thoroughly into Scalaz 8, and the effect package depends on the core data types and type classes. However, it's possible and relatively straightforward to flip this dependency around, allowing Scalaz 8 IO to live in its own module, with Scalaz 8 and even Scalaz 7.3 depending on this module. This ticket outlines the steps involved in such a process.\r\n\r\n - [ ] Create a `scalaz-io` repository, or co-opt `ioeffect`.\r\n - [ ] Refactor Scalaz 8 IO to not use any core data types, instead relying on \"church encoding\" for things like `\\/` and `Maybe`.\r\n - [ ] Move Scalaz 8 IO instances from `scalaz.effect` into core, and flip the dependency.\r\n - [ ] Put a code freeze on Scalaz 8 IO, and copy the Scalaz 8 IO code into `scalaz.io` (as per proposed package organization), and into the separate repository for `scalaz-io`.\r\n - [ ] Setup package publishing for Scalaz 8 IO.\r\n - [ ] Publish a first version of Scalaz 8 IO.\r\n - [ ] Delete the Scalaz 8 IO from Scalaz 8, and instead depend on the published `scalaz-io` package.\r\n - [ ] Delete the `IO` implementation and associated data types from Scalaz 7.3, and instead, depend directly on `scalaz-io`, adding the necessary instances in core."},"comment":{"url":"https://api.github.com/repos/scalaz/scalaz/issues/comments/390446723","html_url":"https://github.com/scalaz/scalaz/issues/1798#issuecomment-390446723","issue_url":"https://api.github.com/repos/scalaz/scalaz/issues/1798","id":390446723,"user":{"login":"jdegoes","id":156745,"avatar_url":"https://avatars1.githubusercontent.com/u/156745?v=4","gravatar_id":"","url":"https://api.github.com/users/jdegoes","html_url":"https://github.com/jdegoes","followers_url":"https://api.github.com/users/jdegoes/followers","following_url":"https://api.github.com/users/jdegoes/following{/other_user}","gists_url":"https://api.github.com/users/jdegoes/gists{/gist_id}","starred_url":"https://api.github.com/users/jdegoes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdegoes/subscriptions","organizations_url":"https://api.github.com/users/jdegoes/orgs","repos_url":"https://api.github.com/users/jdegoes/repos","events_url":"https://api.github.com/users/jdegoes/events{/privacy}","received_events_url":"https://api.github.com/users/jdegoes/received_events","type":"User","site_admin":false},"created_at":"2018-05-20T00:49:08Z","updated_at":"2018-05-20T00:49:08Z","author_association":"MEMBER","body":"@fommil Oh and why are you still awake? 😉 "}}
{"actor":{"display_login":"jdegoes"}}