{"action":"created","issue":{"url":"https://api.github.com/repos/zenparsing/es-typed-catch/issues/3","repository_url":"https://api.github.com/repos/zenparsing/es-typed-catch","labels_url":"https://api.github.com/repos/zenparsing/es-typed-catch/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/zenparsing/es-typed-catch/issues/3/comments","events_url":"https://api.github.com/repos/zenparsing/es-typed-catch/issues/3/events","html_url":"https://github.com/zenparsing/es-typed-catch/issues/3","id":133313163,"number":3,"title":"Syntax","user":{"login":"benjamingr","id":1315533,"avatar_url":"https://avatars.githubusercontent.com/u/1315533?v=3","gravatar_id":"","url":"https://api.github.com/users/benjamingr","html_url":"https://github.com/benjamingr","followers_url":"https://api.github.com/users/benjamingr/followers","following_url":"https://api.github.com/users/benjamingr/following{/other_user}","gists_url":"https://api.github.com/users/benjamingr/gists{/gist_id}","starred_url":"https://api.github.com/users/benjamingr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjamingr/subscriptions","organizations_url":"https://api.github.com/users/benjamingr/orgs","repos_url":"https://api.github.com/users/benjamingr/repos","events_url":"https://api.github.com/users/benjamingr/events{/privacy}","received_events_url":"https://api.github.com/users/benjamingr/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-02-12T18:39:42Z","updated_at":"2016-02-17T21:33:52Z","closed_at":null,"body":"I think the readme could use rationale for the proposed syntax. Why `:`? What issues does it cause? What issues does it solve?"},"comment":{"url":"https://api.github.com/repos/zenparsing/es-typed-catch/issues/comments/185415430","html_url":"https://github.com/zenparsing/es-typed-catch/issues/3#issuecomment-185415430","issue_url":"https://api.github.com/repos/zenparsing/es-typed-catch/issues/3","id":185415430,"user":{"login":"zenparsing","id":5995084,"avatar_url":"https://avatars.githubusercontent.com/u/5995084?v=3","gravatar_id":"","url":"https://api.github.com/users/zenparsing","html_url":"https://github.com/zenparsing","followers_url":"https://api.github.com/users/zenparsing/followers","following_url":"https://api.github.com/users/zenparsing/following{/other_user}","gists_url":"https://api.github.com/users/zenparsing/gists{/gist_id}","starred_url":"https://api.github.com/users/zenparsing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zenparsing/subscriptions","organizations_url":"https://api.github.com/users/zenparsing/orgs","repos_url":"https://api.github.com/users/zenparsing/repos","events_url":"https://api.github.com/users/zenparsing/events{/privacy}","received_events_url":"https://api.github.com/users/zenparsing/received_events","type":"User","site_admin":false},"created_at":"2016-02-17T21:33:52Z","updated_at":"2016-02-17T21:33:52Z","body":"> Using a colon seems very confusing in light of Flow and TS syntax.\r\n\r\nMaybe, but JS allows LeftHandSideExpression in the class extends clause where TypeScript allows TypeReference, so there's already a dynamic/static mismatch going on there.\r\n\r\n> Also, I don't particularly buy the points against using pattern matching machinery for catch guards\r\n\r\nI was previously in favor of pattern matching, and I thought it might look like this:\r\n\r\n```js\r\ntry {\r\n\r\n} catch {\r\n    { name } if name === \"foo\": {\r\n    }\r\n    x if x instanceof Blah: {\r\n    }\r\n}\r\n```\r\n\r\nBut I can't really see structural type testing as being particularly helpful here.  The ask here is for a more concise way to express targeted error handling, and from what I can tell pattern matching isn't much more concise than the current situation.  I'd love to see counter-examples though!"}}