{"action":"created","issue":{"url":"https://api.github.com/repos/non/cats/issues/418","labels_url":"https://api.github.com/repos/non/cats/issues/418/labels{/name}","comments_url":"https://api.github.com/repos/non/cats/issues/418/comments","events_url":"https://api.github.com/repos/non/cats/issues/418/events","html_url":"https://github.com/non/cats/pull/418","id":97098381,"number":418,"title":"Major overhaul of Lazy[_], Foldable[_], etc.","user":{"login":"non","id":218045,"avatar_url":"https://avatars.githubusercontent.com/u/218045?v=3","gravatar_id":"","url":"https://api.github.com/users/non","html_url":"https://github.com/non","followers_url":"https://api.github.com/users/non/followers","following_url":"https://api.github.com/users/non/following{/other_user}","gists_url":"https://api.github.com/users/non/gists{/gist_id}","starred_url":"https://api.github.com/users/non/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/non/subscriptions","organizations_url":"https://api.github.com/users/non/orgs","repos_url":"https://api.github.com/users/non/repos","events_url":"https://api.github.com/users/non/events{/privacy}","received_events_url":"https://api.github.com/users/non/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/non/cats/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-07-24T17:32:49Z","updated_at":"2015-07-26T04:48:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/non/cats/pulls/418","html_url":"https://github.com/non/cats/pull/418","diff_url":"https://github.com/non/cats/pull/418.diff","patch_url":"https://github.com/non/cats/pull/418.patch"},"body":"This commit does a number of significant things:\r\n\r\n * Removes the `Fold[_]` implementation entirely.\r\n * Renames `Lazy[_]` to `Eval[_]`\r\n * Support monadic recursion over `Eval[_]` via trampoline\r\n * Remove partialFold &co\r\n * Update foldRight definition to be more standard\r\n * Fix documentation of `Lazy[_]`, `Foldable[_]`, etc.\r\n * Fix everything else to work with these changes\r\n\r\nThe trampoline used in `Eval[_]` is specialized and should be more efficient than\r\nthe standard encoding (although benchmarks are still needed to confirm this).\r\nThe semantics behind `Eval[_]` are hopefully a bit clearer, and the documentation\r\ntries to make it clear exactly what one can expect.\r\n\r\nI think this is a huge improvement over the status quo. The whole undertaking\r\nwas inspired by Miles' desire to have easier derivations for Foldable, so I\r\nhope that this takes care of that. It also tries to address many of the\r\nconcerns around `Lazy[_]` that were brought up (many of which were ultimately\r\ncorrect).\r\n\r\nReview by @tpolecat, @milessabin, and anyone else who is interested."},"comment":{"url":"https://api.github.com/repos/non/cats/issues/comments/124945784","html_url":"https://github.com/non/cats/pull/418#issuecomment-124945784","issue_url":"https://api.github.com/repos/non/cats/issues/418","id":124945784,"user":{"login":"tpolecat","id":1200131,"avatar_url":"https://avatars.githubusercontent.com/u/1200131?v=3","gravatar_id":"","url":"https://api.github.com/users/tpolecat","html_url":"https://github.com/tpolecat","followers_url":"https://api.github.com/users/tpolecat/followers","following_url":"https://api.github.com/users/tpolecat/following{/other_user}","gists_url":"https://api.github.com/users/tpolecat/gists{/gist_id}","starred_url":"https://api.github.com/users/tpolecat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tpolecat/subscriptions","organizations_url":"https://api.github.com/users/tpolecat/orgs","repos_url":"https://api.github.com/users/tpolecat/repos","events_url":"https://api.github.com/users/tpolecat/events{/privacy}","received_events_url":"https://api.github.com/users/tpolecat/received_events","type":"User","site_admin":false},"created_at":"2015-07-26T04:48:50Z","updated_at":"2015-07-26T04:48:50Z","body":"Agree with the naming thing Miles mentioned, but otherwise looks great. :+1: "}}