{"action":"created","comment":{"url":"https://api.github.com/repos/WebAssembly/design/pulls/comments/85663279","pull_request_review_id":6366671,"id":85663279,"diff_hunk":"@@ -75,11 +92,40 @@ official format may look entirely different:\n   [wabt]: https://github.com/WebAssembly/wabt\n   [binaryen]: https://github.com/WebAssembly/binaryen\n \n-# Debug symbol integration\n+## Debug symbol integration\n \n The binary format inherently strips names from functions, locals, globals, etc,\n reducing each of these to dense indices. Without help, the text format must\n therefore synthesize new names. However, as part of the [tooling](Tooling.md)\n story, a lightweight, optional \"debug symbol\" global section may be defined\n which associates names with each indexed entity and, when present, these names\n will be used in the text format projected from a binary WebAssembly module.\n+\n+# Future design :unicorn:\n+\n+An official text format capable of representing WebAssembly modules needs a\n+way of encoding, in addition to function bodies: declarations, function\n+signatures, data segments, tables, and other\n+[sections](BinaryEncoding.md#high-level-structure) of the binary format.\n+\n+In addition, expansions or extensions to a standardized text format may offer\n+additional syntactic sugar, macro expansions, or other conveniences to make it\n+easier to write and read WebAssembly. However, since the linear sequence of\n+bytecodes in a binary module may have more than one higher-level\n+representation, such sugar or conveniences may not be possible to resolve\n+canonically from the binary format alone.\n+\n+The design goals for a WebAssembly text format derive from the following use\n+cases:\n+\n+* View Source on a WebAssembly module, thus fitting into the Web (where every source can be viewed) in a natural way.\n+* Presentation in browser development tools when source maps aren't present (which is necessarily the case with [the Minimum Viable Product (MVP)](MVP.md)).\n+* Writing WebAssembly code directly for reasons including pedagogical, experimental, debugging, optimization, and testing of the spec itself.\n+\n+## Additional design considerations\n+\n+There is no requirement to use JavaScript syntax; this format is not intended to be evaluated or translated directly into JavaScript. There may also be substantive reasons to use notation that is different than JavaScript (for example, WebAssembly has a 32-bit integer type, and it should be represented in the text format, since that is the natural thing to do for WebAssembly, regardless of JavaScript not having such a type). On the other hand, when there are no substantive reasons and the options are basically bikeshedding, then it does make sense for the text format to match existing conventions on the Web (for example, curly braces, as in JavaScript and CSS).","path":"TextFormat.md","position":175,"original_position":175,"commit_id":"7c309e19b0fa21fa48609709bb2c6a85b7edd82f","original_commit_id":"7c309e19b0fa21fa48609709bb2c6a85b7edd82f","user":{"login":"jfbastien","id":298127,"avatar_url":"https://avatars.githubusercontent.com/u/298127?v=3","gravatar_id":"","url":"https://api.github.com/users/jfbastien","html_url":"https://github.com/jfbastien","followers_url":"https://api.github.com/users/jfbastien/followers","following_url":"https://api.github.com/users/jfbastien/following{/other_user}","gists_url":"https://api.github.com/users/jfbastien/gists{/gist_id}","starred_url":"https://api.github.com/users/jfbastien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfbastien/subscriptions","organizations_url":"https://api.github.com/users/jfbastien/orgs","repos_url":"https://api.github.com/users/jfbastien/repos","events_url":"https://api.github.com/users/jfbastien/events{/privacy}","received_events_url":"https://api.github.com/users/jfbastien/received_events","type":"User","site_admin":false},"body":"64-bit int is a better example.","created_at":"2016-10-30T16:26:32Z","updated_at":"2016-10-30T16:28:11Z","html_url":"https://github.com/WebAssembly/design/pull/850#discussion_r85663279","pull_request_url":"https://api.github.com/repos/WebAssembly/design/pulls/850","_links":{"self":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/comments/85663279"},"html":{"href":"https://github.com/WebAssembly/design/pull/850#discussion_r85663279"},"pull_request":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/850"}}},"pull_request":{"url":"https://api.github.com/repos/WebAssembly/design/pulls/850","id":91511152,"html_url":"https://github.com/WebAssembly/design/pull/850","diff_url":"https://github.com/WebAssembly/design/pull/850.diff","patch_url":"https://github.com/WebAssembly/design/pull/850.patch","issue_url":"https://api.github.com/repos/WebAssembly/design/issues/850","number":850,"state":"open","locked":false,"title":"Clarify status of text format, add example, and remove confusing language","user":{"login":"s3ththompson","id":970121,"avatar_url":"https://avatars.githubusercontent.com/u/970121?v=3","gravatar_id":"","url":"https://api.github.com/users/s3ththompson","html_url":"https://github.com/s3ththompson","followers_url":"https://api.github.com/users/s3ththompson/followers","following_url":"https://api.github.com/users/s3ththompson/following{/other_user}","gists_url":"https://api.github.com/users/s3ththompson/gists{/gist_id}","starred_url":"https://api.github.com/users/s3ththompson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s3ththompson/subscriptions","organizations_url":"https://api.github.com/users/s3ththompson/orgs","repos_url":"https://api.github.com/users/s3ththompson/repos","events_url":"https://api.github.com/users/s3ththompson/events{/privacy}","received_events_url":"https://api.github.com/users/s3ththompson/received_events","type":"User","site_admin":false},"body":"While writing the intro section of the WebAssembly getting started page, I was frustrated by the lack of a clearer explanation of the text format. I attempted to clean up this file by explaining what exists and is currently specified, what we hope to design going forward, and what conventions the tools currently use.\r\n\r\nI intended this change to be relatively non-controversial, so please let me know if this framing is inaccurate or misleading. Curious, too, to hear others' thoughts on the organization.","created_at":"2016-10-30T04:45:09Z","updated_at":"2016-10-30T16:28:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1186a625b3fb73fd02e075f8cad4e16c5fff85be","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/WebAssembly/design/pulls/850/commits","review_comments_url":"https://api.github.com/repos/WebAssembly/design/pulls/850/comments","review_comment_url":"https://api.github.com/repos/WebAssembly/design/pulls/comments{/number}","comments_url":"https://api.github.com/repos/WebAssembly/design/issues/850/comments","statuses_url":"https://api.github.com/repos/WebAssembly/design/statuses/7c309e19b0fa21fa48609709bb2c6a85b7edd82f","head":{"label":"WebAssembly:update-text","ref":"update-text","sha":"7c309e19b0fa21fa48609709bb2c6a85b7edd82f","user":{"login":"WebAssembly","id":11578470,"avatar_url":"https://avatars.githubusercontent.com/u/11578470?v=3","gravatar_id":"","url":"https://api.github.com/users/WebAssembly","html_url":"https://github.com/WebAssembly","followers_url":"https://api.github.com/users/WebAssembly/followers","following_url":"https://api.github.com/users/WebAssembly/following{/other_user}","gists_url":"https://api.github.com/users/WebAssembly/gists{/gist_id}","starred_url":"https://api.github.com/users/WebAssembly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WebAssembly/subscriptions","organizations_url":"https://api.github.com/users/WebAssembly/orgs","repos_url":"https://api.github.com/users/WebAssembly/repos","events_url":"https://api.github.com/users/WebAssembly/events{/privacy}","received_events_url":"https://api.github.com/users/WebAssembly/received_events","type":"Organization","site_admin":false},"repo":{"id":34808241,"name":"design","full_name":"WebAssembly/design","owner":{"login":"WebAssembly","id":11578470,"avatar_url":"https://avatars.githubusercontent.com/u/11578470?v=3","gravatar_id":"","url":"https://api.github.com/users/WebAssembly","html_url":"https://github.com/WebAssembly","followers_url":"https://api.github.com/users/WebAssembly/followers","following_url":"https://api.github.com/users/WebAssembly/following{/other_user}","gists_url":"https://api.github.com/users/WebAssembly/gists{/gist_id}","starred_url":"https://api.github.com/users/WebAssembly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WebAssembly/subscriptions","organizations_url":"https://api.github.com/users/WebAssembly/orgs","repos_url":"https://api.github.com/users/WebAssembly/repos","events_url":"https://api.github.com/users/WebAssembly/events{/privacy}","received_events_url":"https://api.github.com/users/WebAssembly/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/WebAssembly/design","description":"WebAssembly Design Documents","fork":false,"url":"https://api.github.com/repos/WebAssembly/design","forks_url":"https://api.github.com/repos/WebAssembly/design/forks","keys_url":"https://api.github.com/repos/WebAssembly/design/keys{/key_id}","collaborators_url":"https://api.github.com/repos/WebAssembly/design/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/WebAssembly/design/teams","hooks_url":"https://api.github.com/repos/WebAssembly/design/hooks","issue_events_url":"https://api.github.com/repos/WebAssembly/design/issues/events{/number}","events_url":"https://api.github.com/repos/WebAssembly/design/events","assignees_url":"https://api.github.com/repos/WebAssembly/design/assignees{/user}","branches_url":"https://api.github.com/repos/WebAssembly/design/branches{/branch}","tags_url":"https://api.github.com/repos/WebAssembly/design/tags","blobs_url":"https://api.github.com/repos/WebAssembly/design/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/WebAssembly/design/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/WebAssembly/design/git/refs{/sha}","trees_url":"https://api.github.com/repos/WebAssembly/design/git/trees{/sha}","statuses_url":"https://api.github.com/repos/WebAssembly/design/statuses/{sha}","languages_url":"https://api.github.com/repos/WebAssembly/design/languages","stargazers_url":"https://api.github.com/repos/WebAssembly/design/stargazers","contributors_url":"https://api.github.com/repos/WebAssembly/design/contributors","subscribers_url":"https://api.github.com/repos/WebAssembly/design/subscribers","subscription_url":"https://api.github.com/repos/WebAssembly/design/subscription","commits_url":"https://api.github.com/repos/WebAssembly/design/commits{/sha}","git_commits_url":"https://api.github.com/repos/WebAssembly/design/git/commits{/sha}","comments_url":"https://api.github.com/repos/WebAssembly/design/comments{/number}","issue_comment_url":"https://api.github.com/repos/WebAssembly/design/issues/comments{/number}","contents_url":"https://api.github.com/repos/WebAssembly/design/contents/{+path}","compare_url":"https://api.github.com/repos/WebAssembly/design/compare/{base}...{head}","merges_url":"https://api.github.com/repos/WebAssembly/design/merges","archive_url":"https://api.github.com/repos/WebAssembly/design/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/WebAssembly/design/downloads","issues_url":"https://api.github.com/repos/WebAssembly/design/issues{/number}","pulls_url":"https://api.github.com/repos/WebAssembly/design/pulls{/number}","milestones_url":"https://api.github.com/repos/WebAssembly/design/milestones{/number}","notifications_url":"https://api.github.com/repos/WebAssembly/design/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/WebAssembly/design/labels{/name}","releases_url":"https://api.github.com/repos/WebAssembly/design/releases{/id}","deployments_url":"https://api.github.com/repos/WebAssembly/design/deployments","created_at":"2015-04-29T17:36:05Z","updated_at":"2016-10-30T08:28:27Z","pushed_at":"2016-10-30T16:22:35Z","git_url":"git://github.com/WebAssembly/design.git","ssh_url":"git@github.com:WebAssembly/design.git","clone_url":"https://github.com/WebAssembly/design.git","svn_url":"https://github.com/WebAssembly/design","homepage":"http://webassembly.github.io/","size":2756,"stargazers_count":6191,"watchers_count":6191,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":344,"mirror_url":null,"open_issues_count":88,"forks":344,"open_issues":88,"watchers":6191,"default_branch":"master"}},"base":{"label":"WebAssembly:master","ref":"master","sha":"3283ba0f2c809f757fb608d819f14e1e1cd288b6","user":{"login":"WebAssembly","id":11578470,"avatar_url":"https://avatars.githubusercontent.com/u/11578470?v=3","gravatar_id":"","url":"https://api.github.com/users/WebAssembly","html_url":"https://github.com/WebAssembly","followers_url":"https://api.github.com/users/WebAssembly/followers","following_url":"https://api.github.com/users/WebAssembly/following{/other_user}","gists_url":"https://api.github.com/users/WebAssembly/gists{/gist_id}","starred_url":"https://api.github.com/users/WebAssembly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WebAssembly/subscriptions","organizations_url":"https://api.github.com/users/WebAssembly/orgs","repos_url":"https://api.github.com/users/WebAssembly/repos","events_url":"https://api.github.com/users/WebAssembly/events{/privacy}","received_events_url":"https://api.github.com/users/WebAssembly/received_events","type":"Organization","site_admin":false},"repo":{"id":34808241,"name":"design","full_name":"WebAssembly/design","owner":{"login":"WebAssembly","id":11578470,"avatar_url":"https://avatars.githubusercontent.com/u/11578470?v=3","gravatar_id":"","url":"https://api.github.com/users/WebAssembly","html_url":"https://github.com/WebAssembly","followers_url":"https://api.github.com/users/WebAssembly/followers","following_url":"https://api.github.com/users/WebAssembly/following{/other_user}","gists_url":"https://api.github.com/users/WebAssembly/gists{/gist_id}","starred_url":"https://api.github.com/users/WebAssembly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WebAssembly/subscriptions","organizations_url":"https://api.github.com/users/WebAssembly/orgs","repos_url":"https://api.github.com/users/WebAssembly/repos","events_url":"https://api.github.com/users/WebAssembly/events{/privacy}","received_events_url":"https://api.github.com/users/WebAssembly/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/WebAssembly/design","description":"WebAssembly Design Documents","fork":false,"url":"https://api.github.com/repos/WebAssembly/design","forks_url":"https://api.github.com/repos/WebAssembly/design/forks","keys_url":"https://api.github.com/repos/WebAssembly/design/keys{/key_id}","collaborators_url":"https://api.github.com/repos/WebAssembly/design/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/WebAssembly/design/teams","hooks_url":"https://api.github.com/repos/WebAssembly/design/hooks","issue_events_url":"https://api.github.com/repos/WebAssembly/design/issues/events{/number}","events_url":"https://api.github.com/repos/WebAssembly/design/events","assignees_url":"https://api.github.com/repos/WebAssembly/design/assignees{/user}","branches_url":"https://api.github.com/repos/WebAssembly/design/branches{/branch}","tags_url":"https://api.github.com/repos/WebAssembly/design/tags","blobs_url":"https://api.github.com/repos/WebAssembly/design/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/WebAssembly/design/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/WebAssembly/design/git/refs{/sha}","trees_url":"https://api.github.com/repos/WebAssembly/design/git/trees{/sha}","statuses_url":"https://api.github.com/repos/WebAssembly/design/statuses/{sha}","languages_url":"https://api.github.com/repos/WebAssembly/design/languages","stargazers_url":"https://api.github.com/repos/WebAssembly/design/stargazers","contributors_url":"https://api.github.com/repos/WebAssembly/design/contributors","subscribers_url":"https://api.github.com/repos/WebAssembly/design/subscribers","subscription_url":"https://api.github.com/repos/WebAssembly/design/subscription","commits_url":"https://api.github.com/repos/WebAssembly/design/commits{/sha}","git_commits_url":"https://api.github.com/repos/WebAssembly/design/git/commits{/sha}","comments_url":"https://api.github.com/repos/WebAssembly/design/comments{/number}","issue_comment_url":"https://api.github.com/repos/WebAssembly/design/issues/comments{/number}","contents_url":"https://api.github.com/repos/WebAssembly/design/contents/{+path}","compare_url":"https://api.github.com/repos/WebAssembly/design/compare/{base}...{head}","merges_url":"https://api.github.com/repos/WebAssembly/design/merges","archive_url":"https://api.github.com/repos/WebAssembly/design/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/WebAssembly/design/downloads","issues_url":"https://api.github.com/repos/WebAssembly/design/issues{/number}","pulls_url":"https://api.github.com/repos/WebAssembly/design/pulls{/number}","milestones_url":"https://api.github.com/repos/WebAssembly/design/milestones{/number}","notifications_url":"https://api.github.com/repos/WebAssembly/design/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/WebAssembly/design/labels{/name}","releases_url":"https://api.github.com/repos/WebAssembly/design/releases{/id}","deployments_url":"https://api.github.com/repos/WebAssembly/design/deployments","created_at":"2015-04-29T17:36:05Z","updated_at":"2016-10-30T08:28:27Z","pushed_at":"2016-10-30T16:22:35Z","git_url":"git://github.com/WebAssembly/design.git","ssh_url":"git@github.com:WebAssembly/design.git","clone_url":"https://github.com/WebAssembly/design.git","svn_url":"https://github.com/WebAssembly/design","homepage":"http://webassembly.github.io/","size":2756,"stargazers_count":6191,"watchers_count":6191,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":344,"mirror_url":null,"open_issues_count":88,"forks":344,"open_issues":88,"watchers":6191,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/850"},"html":{"href":"https://github.com/WebAssembly/design/pull/850"},"issue":{"href":"https://api.github.com/repos/WebAssembly/design/issues/850"},"comments":{"href":"https://api.github.com/repos/WebAssembly/design/issues/850/comments"},"review_comments":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/850/comments"},"review_comment":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/850/commits"},"statuses":{"href":"https://api.github.com/repos/WebAssembly/design/statuses/7c309e19b0fa21fa48609709bb2c6a85b7edd82f"}}}}
{"actor":{"display_login":"jfbastien"}}