{"action":"created","issue":{"url":"https://api.github.com/repos/clojureman/special/issues/8","repository_url":"https://api.github.com/repos/clojureman/special","labels_url":"https://api.github.com/repos/clojureman/special/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/clojureman/special/issues/8/comments","events_url":"https://api.github.com/repos/clojureman/special/issues/8/events","html_url":"https://github.com/clojureman/special/pull/8","id":245007335,"number":8,"title":"user-defined eagerization","user":{"login":"kurt-o-sys","id":2430465,"avatar_url":"https://avatars3.githubusercontent.com/u/2430465?v=4","gravatar_id":"","url":"https://api.github.com/users/kurt-o-sys","html_url":"https://github.com/kurt-o-sys","followers_url":"https://api.github.com/users/kurt-o-sys/followers","following_url":"https://api.github.com/users/kurt-o-sys/following{/other_user}","gists_url":"https://api.github.com/users/kurt-o-sys/gists{/gist_id}","starred_url":"https://api.github.com/users/kurt-o-sys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kurt-o-sys/subscriptions","organizations_url":"https://api.github.com/users/kurt-o-sys/orgs","repos_url":"https://api.github.com/users/kurt-o-sys/repos","events_url":"https://api.github.com/users/kurt-o-sys/events{/privacy}","received_events_url":"https://api.github.com/users/kurt-o-sys/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-07-24T08:32:10Z","updated_at":"2017-07-24T20:02:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/clojureman/special/pulls/8","html_url":"https://github.com/clojureman/special/pull/8","diff_url":"https://github.com/clojureman/special/pull/8.diff","patch_url":"https://github.com/clojureman/special/pull/8.patch"},"body":"implement both multimethods and fn-passing to provide a user-defined eagerization"},"comment":{"url":"https://api.github.com/repos/clojureman/special/issues/comments/317537853","html_url":"https://github.com/clojureman/special/pull/8#issuecomment-317537853","issue_url":"https://api.github.com/repos/clojureman/special/issues/8","id":317537853,"user":{"login":"kurt-o-sys","id":2430465,"avatar_url":"https://avatars3.githubusercontent.com/u/2430465?v=4","gravatar_id":"","url":"https://api.github.com/users/kurt-o-sys","html_url":"https://github.com/kurt-o-sys","followers_url":"https://api.github.com/users/kurt-o-sys/followers","following_url":"https://api.github.com/users/kurt-o-sys/following{/other_user}","gists_url":"https://api.github.com/users/kurt-o-sys/gists{/gist_id}","starred_url":"https://api.github.com/users/kurt-o-sys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kurt-o-sys/subscriptions","organizations_url":"https://api.github.com/users/kurt-o-sys/orgs","repos_url":"https://api.github.com/users/kurt-o-sys/repos","events_url":"https://api.github.com/users/kurt-o-sys/events{/privacy}","received_events_url":"https://api.github.com/users/kurt-o-sys/received_events","type":"User","site_admin":false},"created_at":"2017-07-24T20:02:24Z","updated_at":"2017-07-24T20:02:24Z","body":"Answering: https://github.com/clojureman/special/pull/2#issuecomment-317514664 (#2)\r\n \r\nMaking `manage-with-courage` public may help people out to write an own version of `manage`. I guess adding some examples in the documentation would be nice in that case. However, if the same (alternative) implementation is used often, adding the choice of eagerization to the library makes a lot of sense to me. This prevents that everyone starts to write the same `manage`-function(s) in their own code base. \r\n\r\nAs different implementations, there seem to be a few strategies already mentioned:\r\n1. `pr-str` - I fail to see why this is a good choice, but the author does, and that's good enough\r\n2. `walk/postwalk` - efficient, fast, I like that one (it does some eagerization, but fails in some weird cases, just like `pr-str`)\r\n3. `identity` - no eagerization if you don't use laziness (or don't care about weird behavior when it comes to lazy data structures) \r\n\r\nThere may be other strategies that make sense, but with these 3, I guess about 99% of the cases will be covered. So one might opt for a `cond` instead of multimethod, adding new ways of eagerization to the library as it's requested. However, I don't know why one would 'close' it."}}
{"actor":{"display_login":"kurt-o-sys"}}