{"action":"closed","issue":{"url":"https://api.github.com/repos/tidyverse/magrittr/issues/43","repository_url":"https://api.github.com/repos/tidyverse/magrittr","labels_url":"https://api.github.com/repos/tidyverse/magrittr/issues/43/labels{/name}","comments_url":"https://api.github.com/repos/tidyverse/magrittr/issues/43/comments","events_url":"https://api.github.com/repos/tidyverse/magrittr/issues/43/events","html_url":"https://github.com/tidyverse/magrittr/issues/43","id":45077563,"node_id":"MDU6SXNzdWU0NTA3NzU2Mw==","number":43,"title":"Caching","user":{"login":"krlmlr","id":1741643,"node_id":"MDQ6VXNlcjE3NDE2NDM=","avatar_url":"https://avatars0.githubusercontent.com/u/1741643?v=4","gravatar_id":"","url":"https://api.github.com/users/krlmlr","html_url":"https://github.com/krlmlr","followers_url":"https://api.github.com/users/krlmlr/followers","following_url":"https://api.github.com/users/krlmlr/following{/other_user}","gists_url":"https://api.github.com/users/krlmlr/gists{/gist_id}","starred_url":"https://api.github.com/users/krlmlr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krlmlr/subscriptions","organizations_url":"https://api.github.com/users/krlmlr/orgs","repos_url":"https://api.github.com/users/krlmlr/repos","events_url":"https://api.github.com/users/krlmlr/events{/privacy}","received_events_url":"https://api.github.com/users/krlmlr/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2014-10-07T07:40:32Z","updated_at":"2018-07-02T20:37:28Z","closed_at":"2018-07-02T20:37:28Z","author_association":"MEMBER","body":"Not saving intermediate result also means... not saving intermediate results. When creating longish pipes (10 steps or so), testing the pipe always means executing all steps. This slows down development.\n\nHow about providing, for interactive mode, some kind of caching functionality. The value of a `%>%` call could be reused if both the LHS (hash? address?) and the RHS (parse tree equality? string equality?) haven't changed. If values are taken from the cache, a message could indicate this. Of course, there also should be an easy way to invalidate the cache.\n\nIn a preliminary test, inserting `R.cache::evalWithMemoization` into the pipe didn't work due to eager evaluation of the pipe. Still, the functionality in `R.cache` could be helpful here.\n"}}
{"actor":{"display_login":"hadley"}}