{"action":"created","comment":{"url":"https://api.github.com/repos/samth/typed-racket/pulls/comments/45665563","id":45665563,"diff_hunk":"@@ -1,21 +1,50 @@\n #lang racket/base\n \n (require racket/match racket/contract/combinator\n+         racket/class racket/unit\n          racket/fixnum racket/flonum racket/extflonum\n          racket/set\n          racket/undefined\n+         (only-in racket/udp udp?)\n+         (only-in racket/future future? fsemaphore?)\n+         (only-in racket/pretty pretty-print-style-table?)\n          (only-in (combine-in racket/private/promise)\n                   promise?\n                   prop:force promise-forcer))\n \n (define (base-val? e)\n   (or (number? e) (string? e) (char? e) (symbol? e)\n-      (null? e) (regexp? e) (eq? undefined e) (path? e)\n-      (regexp? e) (keyword? e) (bytes? e) (boolean? e) (void? e)\n+      (null? e) (eq? undefined e) (path? e) (eof-object? e)\n+      (regexp? e) (pregexp? e) (byte-regexp? e) (byte-pregexp? e)\n+      (keyword? e) (bytes? e) (boolean? e) (void? e)\n+      (continuation-prompt-tag? e) (continuation-mark-key? e)\n+      (module-path? e) (resolved-module-path? e)\n+      (pretty-print-style-table? e) (namespace-anchor? e)\n+      (variable-reference? e) (impersonator-property? e)\n+      (semaphore? e) (fsemaphore? e)\n+      (bytes-converter? e)\n+      (pseudo-random-generator? e)\n+      (logger? e)\n+      (continuation-mark-set? e)\n       ;; Base values because you can only store flonums/fixnums in these\n       ;; and not any higher-order values. This isn't sound if we ever\n       ;; introduce bounded polymorphism for Flvector/Fxvector.\n-      (flvector? e) (fxvector? e) (extflvector? e)))\n+      (flvector? e) (fxvector? e) (extflvector? e) (extflonum? e)))\n+\n+(define (unsafe-val? e)\n+  (or (syntax? e) (namespace? e) (weak-box? e) (ephemeron? e)\n+      (mpair? e) (thread-cell? e) (class? e) (unit? e)\n+      (compiled-module-expression? e) (compiled-expression? e)\n+      (struct-type-property? e)\n+      (special-comment? e)\n+      (udp? e) (custodian? e) (parameterization? e)\n+      (internal-definition-context? e)\n+      (thread-group? e)\n+      (inspector? e)","path":"typed-racket-lib/typed-racket/utils/any-wrap.rkt","position":46,"original_position":46,"commit_id":"9047ee0dc27a41df276f7aad031e0ce14c74fca7","original_commit_id":"9047ee0dc27a41df276f7aad031e0ce14c74fca7","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},"body":"I think inspectors are safe.","created_at":"2015-11-23T21:47:49Z","updated_at":"2015-11-23T21:47:49Z","html_url":"https://github.com/samth/typed-racket/pull/1#discussion_r45665563","pull_request_url":"https://api.github.com/repos/samth/typed-racket/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/samth/typed-racket/pulls/comments/45665563"},"html":{"href":"https://github.com/samth/typed-racket/pull/1#discussion_r45665563"},"pull_request":{"href":"https://api.github.com/repos/samth/typed-racket/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/samth/typed-racket/pulls/1","id":51450507,"html_url":"https://github.com/samth/typed-racket/pull/1","diff_url":"https://github.com/samth/typed-racket/pull/1.diff","patch_url":"https://github.com/samth/typed-racket/pull/1.patch","issue_url":"https://api.github.com/repos/samth/typed-racket/issues/1","number":1,"state":"open","locked":false,"title":"any-wrap for opaque structs","user":{"login":"bennn","id":1731829,"avatar_url":"https://avatars.githubusercontent.com/u/1731829?v=3","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},"body":"any-wrap now prohibits unsafe values & uses `chaperone-struct` in the fall-through case.\r\n\r\nQuestions:\r\n- Are all the `base-val?` in `any-wrap.rkt` really safe?\r\n- Are all the `unsafe-val?` in `any-wrap.rkt` really unsafe?\r\n- I haven't been successful making example values for each base type. See lines 28 and 231 of the `variation-5` test. Any suggestions? Especially for the missing numeric types.","created_at":"2015-11-21T21:18:29Z","updated_at":"2015-11-23T21:47:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4e715847439f8c2dc8380a8899630c13bd8018e3","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/samth/typed-racket/pulls/1/commits","review_comments_url":"https://api.github.com/repos/samth/typed-racket/pulls/1/comments","review_comment_url":"https://api.github.com/repos/samth/typed-racket/pulls/comments{/number}","comments_url":"https://api.github.com/repos/samth/typed-racket/issues/1/comments","statuses_url":"https://api.github.com/repos/samth/typed-racket/statuses/9047ee0dc27a41df276f7aad031e0ce14c74fca7","head":{"label":"bennn:samth-opaque","ref":"samth-opaque","sha":"9047ee0dc27a41df276f7aad031e0ce14c74fca7","user":{"login":"bennn","id":1731829,"avatar_url":"https://avatars.githubusercontent.com/u/1731829?v=3","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},"repo":{"id":35897506,"name":"typed-racket","full_name":"bennn/typed-racket","owner":{"login":"bennn","id":1731829,"avatar_url":"https://avatars.githubusercontent.com/u/1731829?v=3","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},"private":false,"html_url":"https://github.com/bennn/typed-racket","description":"Typed Racket","fork":true,"url":"https://api.github.com/repos/bennn/typed-racket","forks_url":"https://api.github.com/repos/bennn/typed-racket/forks","keys_url":"https://api.github.com/repos/bennn/typed-racket/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bennn/typed-racket/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bennn/typed-racket/teams","hooks_url":"https://api.github.com/repos/bennn/typed-racket/hooks","issue_events_url":"https://api.github.com/repos/bennn/typed-racket/issues/events{/number}","events_url":"https://api.github.com/repos/bennn/typed-racket/events","assignees_url":"https://api.github.com/repos/bennn/typed-racket/assignees{/user}","branches_url":"https://api.github.com/repos/bennn/typed-racket/branches{/branch}","tags_url":"https://api.github.com/repos/bennn/typed-racket/tags","blobs_url":"https://api.github.com/repos/bennn/typed-racket/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bennn/typed-racket/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bennn/typed-racket/git/refs{/sha}","trees_url":"https://api.github.com/repos/bennn/typed-racket/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bennn/typed-racket/statuses/{sha}","languages_url":"https://api.github.com/repos/bennn/typed-racket/languages","stargazers_url":"https://api.github.com/repos/bennn/typed-racket/stargazers","contributors_url":"https://api.github.com/repos/bennn/typed-racket/contributors","subscribers_url":"https://api.github.com/repos/bennn/typed-racket/subscribers","subscription_url":"https://api.github.com/repos/bennn/typed-racket/subscription","commits_url":"https://api.github.com/repos/bennn/typed-racket/commits{/sha}","git_commits_url":"https://api.github.com/repos/bennn/typed-racket/git/commits{/sha}","comments_url":"https://api.github.com/repos/bennn/typed-racket/comments{/number}","issue_comment_url":"https://api.github.com/repos/bennn/typed-racket/issues/comments{/number}","contents_url":"https://api.github.com/repos/bennn/typed-racket/contents/{+path}","compare_url":"https://api.github.com/repos/bennn/typed-racket/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bennn/typed-racket/merges","archive_url":"https://api.github.com/repos/bennn/typed-racket/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bennn/typed-racket/downloads","issues_url":"https://api.github.com/repos/bennn/typed-racket/issues{/number}","pulls_url":"https://api.github.com/repos/bennn/typed-racket/pulls{/number}","milestones_url":"https://api.github.com/repos/bennn/typed-racket/milestones{/number}","notifications_url":"https://api.github.com/repos/bennn/typed-racket/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bennn/typed-racket/labels{/name}","releases_url":"https://api.github.com/repos/bennn/typed-racket/releases{/id}","created_at":"2015-05-19T17:27:23Z","updated_at":"2015-05-19T17:27:24Z","pushed_at":"2015-11-21T21:12:23Z","git_url":"git://github.com/bennn/typed-racket.git","ssh_url":"git@github.com:bennn/typed-racket.git","clone_url":"https://github.com/bennn/typed-racket.git","svn_url":"https://github.com/bennn/typed-racket","homepage":"","size":6246,"stargazers_count":0,"watchers_count":0,"language":"Racket","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"samth:master","ref":"master","sha":"84db2031be6b8fdcca231b96f080c50cf36d54e9","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},"repo":{"id":28109230,"name":"typed-racket","full_name":"samth/typed-racket","owner":{"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},"private":false,"html_url":"https://github.com/samth/typed-racket","description":null,"fork":true,"url":"https://api.github.com/repos/samth/typed-racket","forks_url":"https://api.github.com/repos/samth/typed-racket/forks","keys_url":"https://api.github.com/repos/samth/typed-racket/keys{/key_id}","collaborators_url":"https://api.github.com/repos/samth/typed-racket/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/samth/typed-racket/teams","hooks_url":"https://api.github.com/repos/samth/typed-racket/hooks","issue_events_url":"https://api.github.com/repos/samth/typed-racket/issues/events{/number}","events_url":"https://api.github.com/repos/samth/typed-racket/events","assignees_url":"https://api.github.com/repos/samth/typed-racket/assignees{/user}","branches_url":"https://api.github.com/repos/samth/typed-racket/branches{/branch}","tags_url":"https://api.github.com/repos/samth/typed-racket/tags","blobs_url":"https://api.github.com/repos/samth/typed-racket/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/samth/typed-racket/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/samth/typed-racket/git/refs{/sha}","trees_url":"https://api.github.com/repos/samth/typed-racket/git/trees{/sha}","statuses_url":"https://api.github.com/repos/samth/typed-racket/statuses/{sha}","languages_url":"https://api.github.com/repos/samth/typed-racket/languages","stargazers_url":"https://api.github.com/repos/samth/typed-racket/stargazers","contributors_url":"https://api.github.com/repos/samth/typed-racket/contributors","subscribers_url":"https://api.github.com/repos/samth/typed-racket/subscribers","subscription_url":"https://api.github.com/repos/samth/typed-racket/subscription","commits_url":"https://api.github.com/repos/samth/typed-racket/commits{/sha}","git_commits_url":"https://api.github.com/repos/samth/typed-racket/git/commits{/sha}","comments_url":"https://api.github.com/repos/samth/typed-racket/comments{/number}","issue_comment_url":"https://api.github.com/repos/samth/typed-racket/issues/comments{/number}","contents_url":"https://api.github.com/repos/samth/typed-racket/contents/{+path}","compare_url":"https://api.github.com/repos/samth/typed-racket/compare/{base}...{head}","merges_url":"https://api.github.com/repos/samth/typed-racket/merges","archive_url":"https://api.github.com/repos/samth/typed-racket/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/samth/typed-racket/downloads","issues_url":"https://api.github.com/repos/samth/typed-racket/issues{/number}","pulls_url":"https://api.github.com/repos/samth/typed-racket/pulls{/number}","milestones_url":"https://api.github.com/repos/samth/typed-racket/milestones{/number}","notifications_url":"https://api.github.com/repos/samth/typed-racket/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/samth/typed-racket/labels{/name}","releases_url":"https://api.github.com/repos/samth/typed-racket/releases{/id}","created_at":"2014-12-16T22:17:20Z","updated_at":"2015-04-08T23:02:34Z","pushed_at":"2015-11-21T21:18:30Z","git_url":"git://github.com/samth/typed-racket.git","ssh_url":"git@github.com:samth/typed-racket.git","clone_url":"https://github.com/samth/typed-racket.git","svn_url":"https://github.com/samth/typed-racket","homepage":null,"size":6259,"stargazers_count":0,"watchers_count":0,"language":"Racket","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/samth/typed-racket/pulls/1"},"html":{"href":"https://github.com/samth/typed-racket/pull/1"},"issue":{"href":"https://api.github.com/repos/samth/typed-racket/issues/1"},"comments":{"href":"https://api.github.com/repos/samth/typed-racket/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/samth/typed-racket/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/samth/typed-racket/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/samth/typed-racket/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/samth/typed-racket/statuses/9047ee0dc27a41df276f7aad031e0ce14c74fca7"}}}}