{"action":"created","issue":{"url":"https://api.github.com/repos/racket/typed-racket/issues/134","labels_url":"https://api.github.com/repos/racket/typed-racket/issues/134/labels{/name}","comments_url":"https://api.github.com/repos/racket/typed-racket/issues/134/comments","events_url":"https://api.github.com/repos/racket/typed-racket/issues/134/events","html_url":"https://github.com/racket/typed-racket/pull/134","id":76904252,"number":134,"title":"Allow the types created for structs to be specified manually instead of always generating them from the struct name","user":{"login":"lexi-lambda","id":759911,"avatar_url":"https://avatars.githubusercontent.com/u/759911?v=3","gravatar_id":"","url":"https://api.github.com/users/lexi-lambda","html_url":"https://github.com/lexi-lambda","followers_url":"https://api.github.com/users/lexi-lambda/followers","following_url":"https://api.github.com/users/lexi-lambda/following{/other_user}","gists_url":"https://api.github.com/users/lexi-lambda/gists{/gist_id}","starred_url":"https://api.github.com/users/lexi-lambda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lexi-lambda/subscriptions","organizations_url":"https://api.github.com/users/lexi-lambda/orgs","repos_url":"https://api.github.com/users/lexi-lambda/repos","events_url":"https://api.github.com/users/lexi-lambda/events{/privacy}","received_events_url":"https://api.github.com/users/lexi-lambda/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-05-16T00:38:21Z","updated_at":"2015-12-30T16:02:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/racket/typed-racket/pulls/134","html_url":"https://github.com/racket/typed-racket/pull/134","diff_url":"https://github.com/racket/typed-racket/pull/134.diff","patch_url":"https://github.com/racket/typed-racket/pull/134.patch"},"body":"This change affects all the struct definition forms as well as `#:struct` clauses in `require/typed`. It's something I've been wanting to change for a while, but I've only now gotten around to doing it. The change is simple and can probably best be explained in code.\r\n\r\n```racket\r\n(struct [point : Point] ([x : Real] [y : Real]))\r\n```\r\n\r\nThis creates a struct called `point`, but the *type* generated for it is `Point`. The change to `require/typed` is the same.\r\n\r\n```racket\r\n(require/typed\r\n net/url-structs\r\n [#:struct [path/param : Path/Param]\r\n           ([path : (U String 'up 'same)]\r\n            [param : (Listof String)])])\r\n```\r\n\r\nCapitalization is, unsurprisingly, the main motivator behind this change, which lets both naming conventions be satisfied without needing any type aliases."},"comment":{"url":"https://api.github.com/repos/racket/typed-racket/issues/comments/168024390","html_url":"https://github.com/racket/typed-racket/pull/134#issuecomment-168024390","issue_url":"https://api.github.com/repos/racket/typed-racket/issues/134","id":168024390,"user":{"login":"samth","id":244723,"avatar_url":"https://avatars.githubusercontent.com/u/244723?v=3","gravatar_id":"","url":"https://api.github.com/users/samth","html_url":"https://github.com/samth","followers_url":"https://api.github.com/users/samth/followers","following_url":"https://api.github.com/users/samth/following{/other_user}","gists_url":"https://api.github.com/users/samth/gists{/gist_id}","starred_url":"https://api.github.com/users/samth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samth/subscriptions","organizations_url":"https://api.github.com/users/samth/orgs","repos_url":"https://api.github.com/users/samth/repos","events_url":"https://api.github.com/users/samth/events{/privacy}","received_events_url":"https://api.github.com/users/samth/received_events","type":"User","site_admin":false},"created_at":"2015-12-30T16:02:29Z","updated_at":"2015-12-30T16:02:29Z","body":"Looks good with comments addressed."}}