Skip to content

A Vision for WebAssembly Support in Swift #2590

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Jun 6, 2025
Merged
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
368591a
Initial draft of "A Vision for WebAssembly Support in Swift"
MaxDesiatov Mar 9, 2024
f0813d9
Placeholder for "Goals" section
MaxDesiatov Mar 9, 2024
4ceaf01
Fix line length
MaxDesiatov Mar 9, 2024
f3bd451
Apply suggestions from code review
MaxDesiatov Mar 9, 2024
c51de07
Restructure "Introduction", mention a few goals
MaxDesiatov Mar 14, 2024
1a427da
Wording cleanup, add Wasm Component Model goal
MaxDesiatov Mar 14, 2024
9e07dd2
Add "Proposed Language Features" section
MaxDesiatov Mar 14, 2024
bd1b5c6
Update webassembly.md
MaxDesiatov Mar 14, 2024
699af86
Apply suggestions from code review
MaxDesiatov Mar 14, 2024
8e48421
Address PR feedback
MaxDesiatov Mar 14, 2024
edb2c31
Apply suggestions from code review
MaxDesiatov Mar 14, 2024
387b8fd
Apply suggestions from code review
MaxDesiatov Mar 14, 2024
ae72732
Apply suggestions from code review
MaxDesiatov Mar 15, 2024
e177c67
Define WasmKit in the introduction section
MaxDesiatov Mar 15, 2024
9f4fddf
Update webassembly.md
MaxDesiatov Mar 18, 2024
51e5d1b
Update visions/webassembly.md
MaxDesiatov Mar 18, 2024
f1195a6
Apply suggestions from code review
MaxDesiatov Mar 26, 2024
b665179
Incorporate recent vision feedback
MaxDesiatov Oct 15, 2024
67909f0
Clean up wording and formatting
MaxDesiatov Oct 16, 2024
a88c667
Address feedback
MaxDesiatov Oct 16, 2024
33e4eb5
Apply suggestions from code review
MaxDesiatov Oct 31, 2024
00063f5
Address PSG meeting feedback
MaxDesiatov Nov 8, 2024
c5d8bae
Add debugging as a separate goal to the "Goals" section
MaxDesiatov Nov 13, 2024
fda62f8
Clean up wording and links in `visions/webassembly.md`
MaxDesiatov Apr 3, 2025
7264453
Fix broken `wasip2` link in `webassembly.md`
MaxDesiatov Apr 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Apply suggestions from code review
Co-authored-by: Ben Barham <[email protected]>
  • Loading branch information
MaxDesiatov and bnbarham authored Mar 14, 2024
commit 699af86284f917b00b9a2553c968b2d169d581c6
6 changes: 3 additions & 3 deletions visions/webassembly.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ A standardized set of APIs implemented by a Wasm runtime for interaction with th
use thanks to C interop is [WASI libc](https://github.com/WebAssembly/wasi-libc). In fact, the current implementation of
Swift stdlib and runtime for `wasm32-unknown-wasi` triple is based on this C library.

Initial version of WASI (referred to as "Preview 1" or as `wasi_snapshot_preview1` by its module name) was
The initial version of WASI (referred to as "Preview 1" or as `wasi_snapshot_preview1` by its module name) was
inspired by C ABI and POSIX, and WASI libc itself is a fork of [Musl libc](http://musl.libc.org) originally developed for
Linux. This proved to be limiting with continued development of WASI, especially as it does not necessarily have to
be constrained by C ABI and POSIX. A more powerful runtime implementation can abstract these away.
Expand Down Expand Up @@ -99,13 +99,13 @@ of corresponding build scripts and CI jobs to generate and publish such SDK. Som
libraries need a Swift SDK for running tests for WASI, so this will benefit the previous point in stabilizing support
for this platform.

3. Make to easier to evaluate and adopt Wasm with increased API coverage for this platform in Swift core libraries. As a
3. Make it easier to evaluate and adopt Wasm with increased API coverage for this platform in Swift core libraries. As a
virtualized embeddable platform, not all system APIs are always available or easy to port to WASI. For example,
multi-threading, file system access, and localization need special support in Wasm runtimes and certain amount of
consideration from a developer adopting these APIs.

4. Improve support for cross-compilation in Swift and SwiftPM. We can simplify versioning, installation, and overall
management of Swift SDKs for cross-compilation in general, which is beneficial not only foe WebAssembly, but for all
management of Swift SDKs for cross-compilation in general, which is beneficial not only for WebAssembly, but for all
platforms.

5. Continue work on Wasm Component Model support in Swift as the Component Model proposal is stabilized. Ensure
Expand Down