{"action":"created","comment":{"url":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/comments/240968878","pull_request_review_id":184119932,"id":240968878,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MDk2ODg3OA==","diff_hunk":"@@ -436,7 +440,7 @@ private[effect] abstract class IOLowPriorityInstances extends IOParallelNewtype\n \n   implicit def ioSemigroup[E, A: Semigroup]: Semigroup[BIO[E, A]] = new IOSemigroup[E, A]\n \n-  implicit def ioMonadError[E]: Bracket[BIO[E, ?], E] = new Bracket[BIO[E, ?], E] {\n+  implicit def ioMonadError[E]: MonadError[BIO[E, ?], E] = new MonadError[BIO[E, ?], E] {","path":"src/main/scala/cats/effect/bio/BIO.scala","position":70,"original_position":70,"commit_id":"ece2d3ae415d3abcbd05d019ba174f3e63748866","original_commit_id":"ece2d3ae415d3abcbd05d019ba174f3e63748866","user":{"login":"jacemale","id":37075071,"node_id":"MDQ6VXNlcjM3MDc1MDcx","avatar_url":"https://avatars2.githubusercontent.com/u/37075071?v=4","gravatar_id":"","url":"https://api.github.com/users/jacemale","html_url":"https://github.com/jacemale","followers_url":"https://api.github.com/users/jacemale/followers","following_url":"https://api.github.com/users/jacemale/following{/other_user}","gists_url":"https://api.github.com/users/jacemale/gists{/gist_id}","starred_url":"https://api.github.com/users/jacemale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacemale/subscriptions","organizations_url":"https://api.github.com/users/jacemale/orgs","repos_url":"https://api.github.com/users/jacemale/repos","events_url":"https://api.github.com/users/jacemale/events{/privacy}","received_events_url":"https://api.github.com/users/jacemale/received_events","type":"User","site_admin":false},"body":"we've downgraded the version of cats-effect (for the purposes of compatibility within our stack), but I can bump it back up 👍 ","created_at":"2018-12-12T11:00:13Z","updated_at":"2018-12-12T11:00:13Z","html_url":"https://github.com/LukaJCB/cats-bio/pull/4#discussion_r240968878","pull_request_url":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/4","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/comments/240968878"},"html":{"href":"https://github.com/LukaJCB/cats-bio/pull/4#discussion_r240968878"},"pull_request":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/4"}},"in_reply_to_id":240807863},"pull_request":{"url":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/4","id":237692183,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM3NjkyMTgz","html_url":"https://github.com/LukaJCB/cats-bio/pull/4","diff_url":"https://github.com/LukaJCB/cats-bio/pull/4.diff","patch_url":"https://github.com/LukaJCB/cats-bio/pull/4.patch","issue_url":"https://api.github.com/repos/LukaJCB/cats-bio/issues/4","number":4,"state":"open","locked":false,"title":"Make BIO covariant on the left side and define redeem - discussion","user":{"login":"jacemale","id":37075071,"node_id":"MDQ6VXNlcjM3MDc1MDcx","avatar_url":"https://avatars2.githubusercontent.com/u/37075071?v=4","gravatar_id":"","url":"https://api.github.com/users/jacemale","html_url":"https://github.com/jacemale","followers_url":"https://api.github.com/users/jacemale/followers","following_url":"https://api.github.com/users/jacemale/following{/other_user}","gists_url":"https://api.github.com/users/jacemale/gists{/gist_id}","starred_url":"https://api.github.com/users/jacemale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacemale/subscriptions","organizations_url":"https://api.github.com/users/jacemale/orgs","repos_url":"https://api.github.com/users/jacemale/repos","events_url":"https://api.github.com/users/jacemale/events{/privacy}","received_events_url":"https://api.github.com/users/jacemale/received_events","type":"User","site_admin":false},"body":"I'm leaving it here for a discussion - we've forked your repo and found it very useful to make the BIO covariant on the left side and also, defined a new operation:\r\n`def redeem[E1, B](f: E => BIO[E1, B])(g: A => BIO[E1, B]): BIO[E1, B]`\r\nwhich can then be used to define a 'catchAll' which lets you handle/convert all the errors:\r\n`def catchAll[E1, B >: A](f: E => BIO[E1, B]): BIO[E1, B] = redeem(f)(BIO.pure[E1, B])`\r\n\r\nThose operations make it much more convenient to deal with BIOs with different types of errors. You can define unexceptional effects as `BIO[Nothing, A]` and mix them with exceptional ones.\r\n\r\nThis also makes it more compatible with scalaz IO and it has also enabled us to build a set of typeclasses to abstract away the bifunctorial effect type, which works well for us for both libraries (but it's out of scope of this PR).","created_at":"2018-12-11T14:08:08Z","updated_at":"2018-12-12T11:00:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"45e00410b87dce436eda1ffd08dee1c6d3239262","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/4/commits","review_comments_url":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/4/comments","review_comment_url":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/comments{/number}","comments_url":"https://api.github.com/repos/LukaJCB/cats-bio/issues/4/comments","statuses_url":"https://api.github.com/repos/LukaJCB/cats-bio/statuses/ece2d3ae415d3abcbd05d019ba174f3e63748866","head":{"label":"ITV:master","ref":"master","sha":"ece2d3ae415d3abcbd05d019ba174f3e63748866","user":{"login":"ITV","id":625148,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYyNTE0OA==","avatar_url":"https://avatars1.githubusercontent.com/u/625148?v=4","gravatar_id":"","url":"https://api.github.com/users/ITV","html_url":"https://github.com/ITV","followers_url":"https://api.github.com/users/ITV/followers","following_url":"https://api.github.com/users/ITV/following{/other_user}","gists_url":"https://api.github.com/users/ITV/gists{/gist_id}","starred_url":"https://api.github.com/users/ITV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ITV/subscriptions","organizations_url":"https://api.github.com/users/ITV/orgs","repos_url":"https://api.github.com/users/ITV/repos","events_url":"https://api.github.com/users/ITV/events{/privacy}","received_events_url":"https://api.github.com/users/ITV/received_events","type":"Organization","site_admin":false},"repo":{"id":155869943,"node_id":"MDEwOlJlcG9zaXRvcnkxNTU4Njk5NDM=","name":"cats-bio","full_name":"ITV/cats-bio","private":false,"owner":{"login":"ITV","id":625148,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYyNTE0OA==","avatar_url":"https://avatars1.githubusercontent.com/u/625148?v=4","gravatar_id":"","url":"https://api.github.com/users/ITV","html_url":"https://github.com/ITV","followers_url":"https://api.github.com/users/ITV/followers","following_url":"https://api.github.com/users/ITV/following{/other_user}","gists_url":"https://api.github.com/users/ITV/gists{/gist_id}","starred_url":"https://api.github.com/users/ITV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ITV/subscriptions","organizations_url":"https://api.github.com/users/ITV/orgs","repos_url":"https://api.github.com/users/ITV/repos","events_url":"https://api.github.com/users/ITV/events{/privacy}","received_events_url":"https://api.github.com/users/ITV/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/ITV/cats-bio","description":"Cats Bifunctor IO","fork":true,"url":"https://api.github.com/repos/ITV/cats-bio","forks_url":"https://api.github.com/repos/ITV/cats-bio/forks","keys_url":"https://api.github.com/repos/ITV/cats-bio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ITV/cats-bio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ITV/cats-bio/teams","hooks_url":"https://api.github.com/repos/ITV/cats-bio/hooks","issue_events_url":"https://api.github.com/repos/ITV/cats-bio/issues/events{/number}","events_url":"https://api.github.com/repos/ITV/cats-bio/events","assignees_url":"https://api.github.com/repos/ITV/cats-bio/assignees{/user}","branches_url":"https://api.github.com/repos/ITV/cats-bio/branches{/branch}","tags_url":"https://api.github.com/repos/ITV/cats-bio/tags","blobs_url":"https://api.github.com/repos/ITV/cats-bio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ITV/cats-bio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ITV/cats-bio/git/refs{/sha}","trees_url":"https://api.github.com/repos/ITV/cats-bio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ITV/cats-bio/statuses/{sha}","languages_url":"https://api.github.com/repos/ITV/cats-bio/languages","stargazers_url":"https://api.github.com/repos/ITV/cats-bio/stargazers","contributors_url":"https://api.github.com/repos/ITV/cats-bio/contributors","subscribers_url":"https://api.github.com/repos/ITV/cats-bio/subscribers","subscription_url":"https://api.github.com/repos/ITV/cats-bio/subscription","commits_url":"https://api.github.com/repos/ITV/cats-bio/commits{/sha}","git_commits_url":"https://api.github.com/repos/ITV/cats-bio/git/commits{/sha}","comments_url":"https://api.github.com/repos/ITV/cats-bio/comments{/number}","issue_comment_url":"https://api.github.com/repos/ITV/cats-bio/issues/comments{/number}","contents_url":"https://api.github.com/repos/ITV/cats-bio/contents/{+path}","compare_url":"https://api.github.com/repos/ITV/cats-bio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ITV/cats-bio/merges","archive_url":"https://api.github.com/repos/ITV/cats-bio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ITV/cats-bio/downloads","issues_url":"https://api.github.com/repos/ITV/cats-bio/issues{/number}","pulls_url":"https://api.github.com/repos/ITV/cats-bio/pulls{/number}","milestones_url":"https://api.github.com/repos/ITV/cats-bio/milestones{/number}","notifications_url":"https://api.github.com/repos/ITV/cats-bio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ITV/cats-bio/labels{/name}","releases_url":"https://api.github.com/repos/ITV/cats-bio/releases{/id}","deployments_url":"https://api.github.com/repos/ITV/cats-bio/deployments","created_at":"2018-11-02T13:30:05Z","updated_at":"2018-12-11T13:54:40Z","pushed_at":"2018-12-11T13:54:39Z","git_url":"git://github.com/ITV/cats-bio.git","ssh_url":"git@github.com:ITV/cats-bio.git","clone_url":"https://github.com/ITV/cats-bio.git","svn_url":"https://github.com/ITV/cats-bio","homepage":null,"size":74,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"LukaJCB:master","ref":"master","sha":"637cbb68aac217b2c9d0c95252a0b80b698f68c7","user":{"login":"LukaJCB","id":9531747,"node_id":"MDQ6VXNlcjk1MzE3NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9531747?v=4","gravatar_id":"","url":"https://api.github.com/users/LukaJCB","html_url":"https://github.com/LukaJCB","followers_url":"https://api.github.com/users/LukaJCB/followers","following_url":"https://api.github.com/users/LukaJCB/following{/other_user}","gists_url":"https://api.github.com/users/LukaJCB/gists{/gist_id}","starred_url":"https://api.github.com/users/LukaJCB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LukaJCB/subscriptions","organizations_url":"https://api.github.com/users/LukaJCB/orgs","repos_url":"https://api.github.com/users/LukaJCB/repos","events_url":"https://api.github.com/users/LukaJCB/events{/privacy}","received_events_url":"https://api.github.com/users/LukaJCB/received_events","type":"User","site_admin":false},"repo":{"id":130271657,"node_id":"MDEwOlJlcG9zaXRvcnkxMzAyNzE2NTc=","name":"cats-bio","full_name":"LukaJCB/cats-bio","private":false,"owner":{"login":"LukaJCB","id":9531747,"node_id":"MDQ6VXNlcjk1MzE3NDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9531747?v=4","gravatar_id":"","url":"https://api.github.com/users/LukaJCB","html_url":"https://github.com/LukaJCB","followers_url":"https://api.github.com/users/LukaJCB/followers","following_url":"https://api.github.com/users/LukaJCB/following{/other_user}","gists_url":"https://api.github.com/users/LukaJCB/gists{/gist_id}","starred_url":"https://api.github.com/users/LukaJCB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LukaJCB/subscriptions","organizations_url":"https://api.github.com/users/LukaJCB/orgs","repos_url":"https://api.github.com/users/LukaJCB/repos","events_url":"https://api.github.com/users/LukaJCB/events{/privacy}","received_events_url":"https://api.github.com/users/LukaJCB/received_events","type":"User","site_admin":false},"html_url":"https://github.com/LukaJCB/cats-bio","description":"Cats Bifunctor IO","fork":false,"url":"https://api.github.com/repos/LukaJCB/cats-bio","forks_url":"https://api.github.com/repos/LukaJCB/cats-bio/forks","keys_url":"https://api.github.com/repos/LukaJCB/cats-bio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/LukaJCB/cats-bio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/LukaJCB/cats-bio/teams","hooks_url":"https://api.github.com/repos/LukaJCB/cats-bio/hooks","issue_events_url":"https://api.github.com/repos/LukaJCB/cats-bio/issues/events{/number}","events_url":"https://api.github.com/repos/LukaJCB/cats-bio/events","assignees_url":"https://api.github.com/repos/LukaJCB/cats-bio/assignees{/user}","branches_url":"https://api.github.com/repos/LukaJCB/cats-bio/branches{/branch}","tags_url":"https://api.github.com/repos/LukaJCB/cats-bio/tags","blobs_url":"https://api.github.com/repos/LukaJCB/cats-bio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/LukaJCB/cats-bio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/LukaJCB/cats-bio/git/refs{/sha}","trees_url":"https://api.github.com/repos/LukaJCB/cats-bio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/LukaJCB/cats-bio/statuses/{sha}","languages_url":"https://api.github.com/repos/LukaJCB/cats-bio/languages","stargazers_url":"https://api.github.com/repos/LukaJCB/cats-bio/stargazers","contributors_url":"https://api.github.com/repos/LukaJCB/cats-bio/contributors","subscribers_url":"https://api.github.com/repos/LukaJCB/cats-bio/subscribers","subscription_url":"https://api.github.com/repos/LukaJCB/cats-bio/subscription","commits_url":"https://api.github.com/repos/LukaJCB/cats-bio/commits{/sha}","git_commits_url":"https://api.github.com/repos/LukaJCB/cats-bio/git/commits{/sha}","comments_url":"https://api.github.com/repos/LukaJCB/cats-bio/comments{/number}","issue_comment_url":"https://api.github.com/repos/LukaJCB/cats-bio/issues/comments{/number}","contents_url":"https://api.github.com/repos/LukaJCB/cats-bio/contents/{+path}","compare_url":"https://api.github.com/repos/LukaJCB/cats-bio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/LukaJCB/cats-bio/merges","archive_url":"https://api.github.com/repos/LukaJCB/cats-bio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/LukaJCB/cats-bio/downloads","issues_url":"https://api.github.com/repos/LukaJCB/cats-bio/issues{/number}","pulls_url":"https://api.github.com/repos/LukaJCB/cats-bio/pulls{/number}","milestones_url":"https://api.github.com/repos/LukaJCB/cats-bio/milestones{/number}","notifications_url":"https://api.github.com/repos/LukaJCB/cats-bio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/LukaJCB/cats-bio/labels{/name}","releases_url":"https://api.github.com/repos/LukaJCB/cats-bio/releases{/id}","deployments_url":"https://api.github.com/repos/LukaJCB/cats-bio/deployments","created_at":"2018-04-19T20:55:34Z","updated_at":"2018-12-04T13:10:06Z","pushed_at":"2018-12-11T14:08:09Z","git_url":"git://github.com/LukaJCB/cats-bio.git","ssh_url":"git@github.com:LukaJCB/cats-bio.git","clone_url":"https://github.com/LukaJCB/cats-bio.git","svn_url":"https://github.com/LukaJCB/cats-bio","homepage":null,"size":71,"stargazers_count":56,"watchers_count":56,"language":"Scala","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":3,"open_issues":2,"watchers":56,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/4"},"html":{"href":"https://github.com/LukaJCB/cats-bio/pull/4"},"issue":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/issues/4"},"comments":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/issues/4/comments"},"review_comments":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/4/comments"},"review_comment":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/pulls/4/commits"},"statuses":{"href":"https://api.github.com/repos/LukaJCB/cats-bio/statuses/ece2d3ae415d3abcbd05d019ba174f3e63748866"}},"author_association":"NONE"}}
{"actor":{"display_login":"jacemale"}}