{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,29]],"date-time":"2025-08-29T09:58:46Z","timestamp":1756461526570,"version":"3.41.2"},"reference-count":2,"publisher":"Association for Computing Machinery (ACM)","issue":"3","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Queue"],"published-print":{"date-parts":[[2025,6,30]]},"abstract":"<jats:p>Mismatches between the interfaces promised to programmers by source languages and the capabilities of the underlying web platform are a constant trap in compiling to Wasm. Even simple examples such as a C program using the language's native file-system API present difficulties. Often such gaps can be papered over by the compilation toolchain somewhat automatically, without the developer needing to know all of the details so long as their code runs correctly end to end. This state of affairs is strained to its limits when compiling programs for the web that use multicore concurrency features. This article aims to describe how concurrent programs are compiled to Wasm today given the unique limitations that the Web operates under with respect to multi-core concurrency support and also to highlight some of the current discussions of standards that are taking place around further expanding Wasm's concurrency capabilities.<\/jats:p>","DOI":"10.1145\/3747201.3746173","type":"journal-article","created":{"date-parts":[[2025,7,4]],"date-time":"2025-07-04T00:18:51Z","timestamp":1751588331000},"page":"65-85","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Concurrency in WebAssembly"],"prefix":"10.1145","volume":"23","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0596-877X","authenticated-orcid":false,"given":"Conrad","family":"Watt","sequence":"first","affiliation":[{"name":"Nanyang Technological University, Singapore"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,7,3]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3385973"},{"key":"e_1_2_1_2_1","volume-title":"Weakening WebAssembly. Proceedings of the ACM on Programming Languages 3 (OOPSLA), Article 133","author":"Watt C.","year":"2019","unstructured":"Watt, C., Rossberg, A., Pichon-Pharabod, J. 2019. Weakening WebAssembly. Proceedings of the ACM on Programming Languages 3 (OOPSLA), Article 133, 1?28; https:\/\/dl.acm.org\/doi\/10.1145\/3360559."}],"container-title":["Queue"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3747201.3746173","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,29]],"date-time":"2025-07-29T22:20:20Z","timestamp":1753827620000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3747201.3746173"}},"subtitle":["Experiments in the web and beyond"],"short-title":[],"issued":{"date-parts":[[2025,6,30]]},"references-count":2,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2025,6,30]]}},"alternative-id":["10.1145\/3747201.3746173"],"URL":"https:\/\/doi.org\/10.1145\/3747201.3746173","relation":{},"ISSN":["1542-7730","1542-7749"],"issn-type":[{"type":"print","value":"1542-7730"},{"type":"electronic","value":"1542-7749"}],"subject":[],"published":{"date-parts":[[2025,6,30]]},"assertion":[{"value":"2025-07-03","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}