{"action":"created","issue":{"url":"https://api.github.com/repos/nhessler/torc/issues/1","labels_url":"https://api.github.com/repos/nhessler/torc/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/nhessler/torc/issues/1/comments","events_url":"https://api.github.com/repos/nhessler/torc/issues/1/events","html_url":"https://github.com/nhessler/torc/pull/1","id":120932551,"number":1,"title":"Some small things, some robustness","user":{"login":"JoshCheek","id":77495,"avatar_url":"https://avatars.githubusercontent.com/u/77495?v=3","gravatar_id":"","url":"https://api.github.com/users/JoshCheek","html_url":"https://github.com/JoshCheek","followers_url":"https://api.github.com/users/JoshCheek/followers","following_url":"https://api.github.com/users/JoshCheek/following{/other_user}","gists_url":"https://api.github.com/users/JoshCheek/gists{/gist_id}","starred_url":"https://api.github.com/users/JoshCheek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JoshCheek/subscriptions","organizations_url":"https://api.github.com/users/JoshCheek/orgs","repos_url":"https://api.github.com/users/JoshCheek/repos","events_url":"https://api.github.com/users/JoshCheek/events{/privacy}","received_events_url":"https://api.github.com/users/JoshCheek/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-08T05:11:34Z","updated_at":"2015-12-08T05:13:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nhessler/torc/pulls/1","html_url":"https://github.com/nhessler/torc/pull/1","diff_url":"https://github.com/nhessler/torc/pull/1.diff","patch_url":"https://github.com/nhessler/torc/pull/1.patch"},"body":"Try it before merging it, b/c the downside is that it's much slower. This is necessary, with the current approach, to achieve the robustness, eg it now allows one method with tailcall to call into another, and allows two tailcalled methods to recursively call back and forth. This means, though, that it has to check which method called it every time, which is very expensive.\r\n\r\nAlternative #1, here is a gist that uses Ruby's builtin tailcall optimization (though the API is barely usable): https://gist.github.com/JoshCheek/2ba8f7ef75421a0e6b56\r\n\r\nAlternative #2, you could parse and edit the AST https://gist.github.com/JoshCheek/0cf5e6e14335c52f9695"},"comment":{"url":"https://api.github.com/repos/nhessler/torc/issues/comments/162768878","html_url":"https://github.com/nhessler/torc/pull/1#issuecomment-162768878","issue_url":"https://api.github.com/repos/nhessler/torc/issues/1","id":162768878,"user":{"login":"JoshCheek","id":77495,"avatar_url":"https://avatars.githubusercontent.com/u/77495?v=3","gravatar_id":"","url":"https://api.github.com/users/JoshCheek","html_url":"https://github.com/JoshCheek","followers_url":"https://api.github.com/users/JoshCheek/followers","following_url":"https://api.github.com/users/JoshCheek/following{/other_user}","gists_url":"https://api.github.com/users/JoshCheek/gists{/gist_id}","starred_url":"https://api.github.com/users/JoshCheek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JoshCheek/subscriptions","organizations_url":"https://api.github.com/users/JoshCheek/orgs","repos_url":"https://api.github.com/users/JoshCheek/repos","events_url":"https://api.github.com/users/JoshCheek/events{/privacy}","received_events_url":"https://api.github.com/users/JoshCheek/received_events","type":"User","site_admin":false},"created_at":"2015-12-08T05:13:50Z","updated_at":"2015-12-08T05:13:50Z","body":"Just glanced at the diff, and it's going to be way easier to read these one at a time."}}