{"action":"created","issue":{"url":"https://api.github.com/repos/racket/typed-racket/issues/575","repository_url":"https://api.github.com/repos/racket/typed-racket","labels_url":"https://api.github.com/repos/racket/typed-racket/issues/575/labels{/name}","comments_url":"https://api.github.com/repos/racket/typed-racket/issues/575/comments","events_url":"https://api.github.com/repos/racket/typed-racket/issues/575/events","html_url":"https://github.com/racket/typed-racket/pull/575","id":241498995,"number":575,"title":"types for mutable and immutable vectors","user":{"login":"bennn","id":1731829,"avatar_url":"https://avatars0.githubusercontent.com/u/1731829?v=4","gravatar_id":"","url":"https://api.github.com/users/bennn","html_url":"https://github.com/bennn","followers_url":"https://api.github.com/users/bennn/followers","following_url":"https://api.github.com/users/bennn/following{/other_user}","gists_url":"https://api.github.com/users/bennn/gists{/gist_id}","starred_url":"https://api.github.com/users/bennn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bennn/subscriptions","organizations_url":"https://api.github.com/users/bennn/orgs","repos_url":"https://api.github.com/users/bennn/repos","events_url":"https://api.github.com/users/bennn/events{/privacy}","received_events_url":"https://api.github.com/users/bennn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"bennn","id":1731829,"avatar_url":"https://avatars0.githubusercontent.com/u/1731829?v=4","gravatar_id":"","url":"https://api.github.com/users/bennn","html_url":"https://github.com/bennn","followers_url":"https://api.github.com/users/bennn/followers","following_url":"https://api.github.com/users/bennn/following{/other_user}","gists_url":"https://api.github.com/users/bennn/gists{/gist_id}","starred_url":"https://api.github.com/users/bennn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bennn/subscriptions","organizations_url":"https://api.github.com/users/bennn/orgs","repos_url":"https://api.github.com/users/bennn/repos","events_url":"https://api.github.com/users/bennn/events{/privacy}","received_events_url":"https://api.github.com/users/bennn/received_events","type":"User","site_admin":false},"assignees":[{"login":"bennn","id":1731829,"avatar_url":"https://avatars0.githubusercontent.com/u/1731829?v=4","gravatar_id":"","url":"https://api.github.com/users/bennn","html_url":"https://github.com/bennn","followers_url":"https://api.github.com/users/bennn/followers","following_url":"https://api.github.com/users/bennn/following{/other_user}","gists_url":"https://api.github.com/users/bennn/gists{/gist_id}","starred_url":"https://api.github.com/users/bennn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bennn/subscriptions","organizations_url":"https://api.github.com/users/bennn/orgs","repos_url":"https://api.github.com/users/bennn/repos","events_url":"https://api.github.com/users/bennn/events{/privacy}","received_events_url":"https://api.github.com/users/bennn/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/racket/typed-racket/milestones/3","html_url":"https://github.com/racket/typed-racket/milestone/3","labels_url":"https://api.github.com/repos/racket/typed-racket/milestones/3/labels","id":2961077,"number":3,"title":"6.12","description":"","creator":{"login":"samth","id":244723,"avatar_url":"https://avatars1.githubusercontent.com/u/244723?v=4","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},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2017-12-06T03:31:22Z","updated_at":"2017-12-06T03:32:03Z","due_on":"2018-01-15T08:00:00Z","closed_at":null},"comments":36,"created_at":"2017-07-09T04:13:51Z","updated_at":"2018-03-31T18:36:30Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/racket/typed-racket/pulls/575","html_url":"https://github.com/racket/typed-racket/pull/575","diff_url":"https://github.com/racket/typed-racket/pull/575.diff","patch_url":"https://github.com/racket/typed-racket/pull/575.patch"},"body":"New types:\r\n- Immutable-Vector (covariant)\r\n- Mutable-Vector (invariant)\r\n- Immutable-Vectorof (covariant)\r\n- Mutable-Vectorof (invariant)\r\n- Mutable-VectorTop (similar to Mutable-HashTableTop)\r\n\r\nThe old vector types are now unions of these new types.\r\n\r\nAlso:\r\n- more specific _return_ types for some built-in functions (e.g. `vector-append`)\r\n- `immutable?` distinguishes mutable & immutable vectors\r\n- the contract for a `Vector` or `Vectorof` should be the same as before,\r\n  even though these types are now unions\r\n\r\nCurrent TODOs:\r\n- [x] travis\r\n- [x] think about adding more tests\r\n- [x] clean up the \"union deduplicating\" in `type-contract.rkt`, it's right now an awkward implementation of a simple idea\r\n- [X] \"oops\" below, revert the condition and make sure tests pass. EDIT: reverting the condition breaks some `typecheck-tests`, not sure why.\r\n- [X] \"oops 2\", add a test for this bug & fix it\r\n- [X] \"oops 3\" ... try simplifying the code & see if tests pass?\r\n- [x] make sure HVecs are subtypes of VectorTop\r\n- [x] make sure VectorTop generates a flat contract (try compiling some packages)\r\n  - found errors in ~`plot`~ (fixed) and `scv`\r\n- [x] sync with fixed https://github.com/racket/racket/issues/1745\r\n- [x] should other `intersect`s in `tc-literal.rkt` be `resolve`s?\r\n  - removed all these intersects; expected type isn't relevant when the type is immutable (because immutable types have subtyping)\r\n- [X] change `type-contract-generalize` interface\r\n  - incorrect to use just one `type->contract` continuation because ignores typed-side/untyped-side distinction\r\n  - and try to make that function overall simpler\r\n  - and should move this code to the static-contracts optimizer\r\n- [x] fix #598 , move tests for `type-contract-generalize` to static-contracts-optimize\r\n- [ ] add history annotations\r\n- [ ] do we really need travis_wait?"},"comment":{"url":"https://api.github.com/repos/racket/typed-racket/issues/comments/377713947","html_url":"https://github.com/racket/typed-racket/pull/575#issuecomment-377713947","issue_url":"https://api.github.com/repos/racket/typed-racket/issues/575","id":377713947,"user":{"login":"bennn","id":1731829,"avatar_url":"https://avatars0.githubusercontent.com/u/1731829?v=4","gravatar_id":"","url":"https://api.github.com/users/bennn","html_url":"https://github.com/bennn","followers_url":"https://api.github.com/users/bennn/followers","following_url":"https://api.github.com/users/bennn/following{/other_user}","gists_url":"https://api.github.com/users/bennn/gists{/gist_id}","starred_url":"https://api.github.com/users/bennn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bennn/subscriptions","organizations_url":"https://api.github.com/users/bennn/orgs","repos_url":"https://api.github.com/users/bennn/repos","events_url":"https://api.github.com/users/bennn/events{/privacy}","received_events_url":"https://api.github.com/users/bennn/received_events","type":"User","site_admin":false},"created_at":"2018-03-31T18:36:30Z","updated_at":"2018-03-31T18:36:30Z","author_association":"CONTRIBUTOR","body":"If these are the benchmarks in https://github.com/pnwamk/tr-performance , I know how to run those & can post results tonight."}}
{"actor":{"display_login":"bennn"}}