{"action":"created","issue":{"url":"https://api.github.com/repos/erlang/otp/issues/1080","repository_url":"https://api.github.com/repos/erlang/otp","labels_url":"https://api.github.com/repos/erlang/otp/issues/1080/labels{/name}","comments_url":"https://api.github.com/repos/erlang/otp/issues/1080/comments","events_url":"https://api.github.com/repos/erlang/otp/issues/1080/events","html_url":"https://github.com/erlang/otp/pull/1080","id":157964168,"number":1080,"title":"Introduce a new core pass called sys_core_alias","user":{"login":"josevalim","id":9582,"avatar_url":"https://avatars.githubusercontent.com/u/9582?v=3","gravatar_id":"","url":"https://api.github.com/users/josevalim","html_url":"https://github.com/josevalim","followers_url":"https://api.github.com/users/josevalim/followers","following_url":"https://api.github.com/users/josevalim/following{/other_user}","gists_url":"https://api.github.com/users/josevalim/gists{/gist_id}","starred_url":"https://api.github.com/users/josevalim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josevalim/subscriptions","organizations_url":"https://api.github.com/users/josevalim/orgs","repos_url":"https://api.github.com/users/josevalim/repos","events_url":"https://api.github.com/users/josevalim/events{/privacy}","received_events_url":"https://api.github.com/users/josevalim/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-06-01T17:33:04Z","updated_at":"2016-06-01T18:56:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/erlang/otp/pulls/1080","html_url":"https://github.com/erlang/otp/pull/1080","diff_url":"https://github.com/erlang/otp/pull/1080.diff","patch_url":"https://github.com/erlang/otp/pull/1080.patch"},"body":"The goal of this pass is to find values that are built from patterns and generate aliases for those values to remove pressure from the GC. For example, this code:\r\n\r\n```erlang\r\n   example({ok, Val}) ->\r\n       {ok, Val}.\r\n```\r\n\r\nshall become:\r\n\r\n```erlang\r\n   example({ok, Val} = Tuple) ->\r\n       Tuple.\r\n```\r\n\r\nCurrently this pass aliases tuples made of literals, variables and cons. The tuple may appear anywhere in the pattern and it will be aliased if used later on.\r\n\r\nNotice a tuple made only of literals is not aliased as it may be part of the literal pool.\r\n\r\n**Note**: This pull request is currently pending tests which I will work on shortly. I have sent it early for feedback in the general direction. The original discussion that sparked this PR can be found here: https://github.com/elixir-lang/elixir/issues/4424."},"comment":{"url":"https://api.github.com/repos/erlang/otp/issues/comments/223090669","html_url":"https://github.com/erlang/otp/pull/1080#issuecomment-223090669","issue_url":"https://api.github.com/repos/erlang/otp/issues/1080","id":223090669,"user":{"login":"OTP-Maintainer","id":5467919,"avatar_url":"https://avatars.githubusercontent.com/u/5467919?v=3","gravatar_id":"","url":"https://api.github.com/users/OTP-Maintainer","html_url":"https://github.com/OTP-Maintainer","followers_url":"https://api.github.com/users/OTP-Maintainer/followers","following_url":"https://api.github.com/users/OTP-Maintainer/following{/other_user}","gists_url":"https://api.github.com/users/OTP-Maintainer/gists{/gist_id}","starred_url":"https://api.github.com/users/OTP-Maintainer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OTP-Maintainer/subscriptions","organizations_url":"https://api.github.com/users/OTP-Maintainer/orgs","repos_url":"https://api.github.com/users/OTP-Maintainer/repos","events_url":"https://api.github.com/users/OTP-Maintainer/events{/privacy}","received_events_url":"https://api.github.com/users/OTP-Maintainer/received_events","type":"User","site_admin":false},"created_at":"2016-06-01T18:56:03Z","updated_at":"2016-06-01T18:56:03Z","body":"Patch has passed first testings and has been assigned to be reviewed\n\n\n----------------\n\nI am a script, I am not human \n\n----------------\n"}}
{"actor":{"display_login":"OTP-Maintainer"}}