{"action":"created","issue":{"url":"https://api.github.com/repos/anko/eslisp/issues/23","labels_url":"https://api.github.com/repos/anko/eslisp/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/anko/eslisp/issues/23/comments","events_url":"https://api.github.com/repos/anko/eslisp/issues/23/events","html_url":"https://github.com/anko/eslisp/issues/23","id":108766728,"number":23,"title":"The `object` macro is not ES6-friendly","user":{"login":"anko","id":5231746,"avatar_url":"https://avatars.githubusercontent.com/u/5231746?v=3","gravatar_id":"","url":"https://api.github.com/users/anko","html_url":"https://github.com/anko","followers_url":"https://api.github.com/users/anko/followers","following_url":"https://api.github.com/users/anko/following{/other_user}","gists_url":"https://api.github.com/users/anko/gists{/gist_id}","starred_url":"https://api.github.com/users/anko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anko/subscriptions","organizations_url":"https://api.github.com/users/anko/orgs","repos_url":"https://api.github.com/users/anko/repos","events_url":"https://api.github.com/users/anko/events{/privacy}","received_events_url":"https://api.github.com/users/anko/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2015-09-28T23:33:13Z","updated_at":"2015-10-08T23:59:07Z","closed_at":null,"body":"ES6 introduces [dynamic property names in object expressions](https://github.com/lukehoban/es6features#enhanced-object-literals):\r\n\r\n```js\r\nvar x = 42;\r\nvar obj = {\r\n  [ 'prop_' + x ]: 42\r\n};\r\n```\r\n\r\nAt the moment, eslisp's `object` macro can't unambiguously accommodate that. Given that `(object a b)` compiles to `{ a : b }`, what should compile to `{ [a] : b }`?\r\n\r\nSimilarly to previously in #13, this can't simply be solved by having `(object \"a\" b)` compile to `{ a : b }` instead and `(object a b)` to `{ [a] : b }`, because it must continue to be possible to express both `{ a : b }` and `{ \"a\" : b }` for stuff like Google's closure compiler, and for when it's necessary to ensure that part of the code is also valid JSON."},"comment":{"url":"https://api.github.com/repos/anko/eslisp/issues/comments/146719571","html_url":"https://github.com/anko/eslisp/issues/23#issuecomment-146719571","issue_url":"https://api.github.com/repos/anko/eslisp/issues/23","id":146719571,"user":{"login":"impinball","id":4483844,"avatar_url":"https://avatars.githubusercontent.com/u/4483844?v=3","gravatar_id":"","url":"https://api.github.com/users/impinball","html_url":"https://github.com/impinball","followers_url":"https://api.github.com/users/impinball/followers","following_url":"https://api.github.com/users/impinball/following{/other_user}","gists_url":"https://api.github.com/users/impinball/gists{/gist_id}","starred_url":"https://api.github.com/users/impinball/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/impinball/subscriptions","organizations_url":"https://api.github.com/users/impinball/orgs","repos_url":"https://api.github.com/users/impinball/repos","events_url":"https://api.github.com/users/impinball/events{/privacy}","received_events_url":"https://api.github.com/users/impinball/received_events","type":"User","site_admin":false},"created_at":"2015-10-08T23:59:07Z","updated_at":"2015-10-08T23:59:07Z","body":"Also, are you okay with the implicit lambda?"}}