{"action":"created","issue":{"url":"https://api.github.com/repos/racket/typed-racket/issues/225","labels_url":"https://api.github.com/repos/racket/typed-racket/issues/225/labels{/name}","comments_url":"https://api.github.com/repos/racket/typed-racket/issues/225/comments","events_url":"https://api.github.com/repos/racket/typed-racket/issues/225/events","html_url":"https://github.com/racket/typed-racket/pull/225","id":113258658,"number":225,"title":"add separate read and write types for Box types","user":{"login":"AlexKnauth","id":6600123,"avatar_url":"https://avatars.githubusercontent.com/u/6600123?v=3","gravatar_id":"","url":"https://api.github.com/users/AlexKnauth","html_url":"https://github.com/AlexKnauth","followers_url":"https://api.github.com/users/AlexKnauth/followers","following_url":"https://api.github.com/users/AlexKnauth/following{/other_user}","gists_url":"https://api.github.com/users/AlexKnauth/gists{/gist_id}","starred_url":"https://api.github.com/users/AlexKnauth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlexKnauth/subscriptions","organizations_url":"https://api.github.com/users/AlexKnauth/orgs","repos_url":"https://api.github.com/users/AlexKnauth/repos","events_url":"https://api.github.com/users/AlexKnauth/events{/privacy}","received_events_url":"https://api.github.com/users/AlexKnauth/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-10-25T22:29:44Z","updated_at":"2015-10-29T04:16:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/racket/typed-racket/pulls/225","html_url":"https://github.com/racket/typed-racket/pull/225","diff_url":"https://github.com/racket/typed-racket/pull/225.diff","patch_url":"https://github.com/racket/typed-racket/pull/225.patch"},"body":"The write type is contra-variant, and the read type is covariant. Unions of mutable box types make sense now, and this also adds support for read-only boxes, without requiring a separate type.\nSee also\nhttps://github.com/racket/racket/pull/1100"},"comment":{"url":"https://api.github.com/repos/racket/typed-racket/issues/comments/152072089","html_url":"https://github.com/racket/typed-racket/pull/225#issuecomment-152072089","issue_url":"https://api.github.com/repos/racket/typed-racket/issues/225","id":152072089,"user":{"login":"AlexKnauth","id":6600123,"avatar_url":"https://avatars.githubusercontent.com/u/6600123?v=3","gravatar_id":"","url":"https://api.github.com/users/AlexKnauth","html_url":"https://github.com/AlexKnauth","followers_url":"https://api.github.com/users/AlexKnauth/followers","following_url":"https://api.github.com/users/AlexKnauth/following{/other_user}","gists_url":"https://api.github.com/users/AlexKnauth/gists{/gist_id}","starred_url":"https://api.github.com/users/AlexKnauth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlexKnauth/subscriptions","organizations_url":"https://api.github.com/users/AlexKnauth/orgs","repos_url":"https://api.github.com/users/AlexKnauth/repos","events_url":"https://api.github.com/users/AlexKnauth/events{/privacy}","received_events_url":"https://api.github.com/users/AlexKnauth/received_events","type":"User","site_admin":false},"created_at":"2015-10-29T04:16:36Z","updated_at":"2015-10-29T04:16:36Z","body":"Ok, I just renamed `Read-Only-Boxof` to `Boxof/Read` and added `Boxof/Write` as well. Read operations such as `unbox` take `(Boxof/Read a)` as arguments, and write operations such as `set-box!` take `(Boxof/Write a)` as arguments."}}