{"action":"created","issue":{"url":"https://api.github.com/repos/jmespath/jmespath.site/issues/6","labels_url":"https://api.github.com/repos/jmespath/jmespath.site/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/jmespath/jmespath.site/issues/6/comments","events_url":"https://api.github.com/repos/jmespath/jmespath.site/issues/6/events","html_url":"https://github.com/jmespath/jmespath.site/pull/6","id":58852914,"number":6,"title":"JEP 11: The let() Function","user":{"login":"jamesls","id":368057,"avatar_url":"https://avatars.githubusercontent.com/u/368057?v=3","gravatar_id":"","url":"https://api.github.com/users/jamesls","html_url":"https://github.com/jamesls","followers_url":"https://api.github.com/users/jamesls/followers","following_url":"https://api.github.com/users/jamesls/following{/other_user}","gists_url":"https://api.github.com/users/jamesls/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesls/subscriptions","organizations_url":"https://api.github.com/users/jamesls/orgs","repos_url":"https://api.github.com/users/jamesls/repos","events_url":"https://api.github.com/users/jamesls/events{/privacy}","received_events_url":"https://api.github.com/users/jamesls/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-02-25T05:32:08Z","updated_at":"2015-04-12T19:11:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/jmespath/jmespath.site/pulls/6","html_url":"https://github.com/jmespath/jmespath.site/pull/6","diff_url":"https://github.com/jmespath/jmespath.site/pull/6.diff","patch_url":"https://github.com/jmespath/jmespath.site/pull/6.patch"},"body":"The JEP goes into detail about why we need this and how it works.  I'll also link compliance tests and a sample implementation to this PR shortly.\r\n\r\ncc @mtdowling "},"comment":{"url":"https://api.github.com/repos/jmespath/jmespath.site/issues/comments/92101473","html_url":"https://github.com/jmespath/jmespath.site/pull/6#issuecomment-92101473","issue_url":"https://api.github.com/repos/jmespath/jmespath.site/issues/6","id":92101473,"user":{"login":"mtdowling","id":190930,"avatar_url":"https://avatars.githubusercontent.com/u/190930?v=3","gravatar_id":"","url":"https://api.github.com/users/mtdowling","html_url":"https://github.com/mtdowling","followers_url":"https://api.github.com/users/mtdowling/followers","following_url":"https://api.github.com/users/mtdowling/following{/other_user}","gists_url":"https://api.github.com/users/mtdowling/gists{/gist_id}","starred_url":"https://api.github.com/users/mtdowling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtdowling/subscriptions","organizations_url":"https://api.github.com/users/mtdowling/orgs","repos_url":"https://api.github.com/users/mtdowling/repos","events_url":"https://api.github.com/users/mtdowling/events{/privacy}","received_events_url":"https://api.github.com/users/mtdowling/received_events","type":"User","site_admin":false},"created_at":"2015-04-12T19:11:18Z","updated_at":"2015-04-12T19:11:18Z","body":"Awesome. Maybe we can use @ to deref (like clojure)?\n\n> On Apr 12, 2015, at 11:49 AM, James Saryerwinnie <notifications@github.com> wrote:\n> \n> I like that better, though we still have to define where exactly these variables are valid. For instance, in my example above I had let({foo: `foo`}, &[0].foo). The equivalent expression using the $ suggestion would be let({foo: `foo`}, &[0].$foo), which I wouldn't want to allow. However, I think it's reasonable to support something like $foo.bar. So we'd need updated grammar rules for when you can use these variables. It might be easier to describe this once #2 is done.\n> \n> As for the specific char, I think my only hesitation was what character we'd use for dereferencing an expref (likely a later JEP). Given the expref char is &, it would have been awesome to use * as the complement, but I'm not entirely sure off hand how feasible that is given the current use of * in the existing grammar. Other than that, I think $ works.\n> \n> —\n> Reply to this email directly or view it on GitHub.\n> \n"}}