Optional Support for Multi-Shot Continuations
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- wasm
- Domain
- compilers
Research direction
Start by reading the Stack Switching Proposal and the issue's discussion of one-shot versus multi-shot continuations. Determine whether reusable continuations can fit the proposal and document the required design and trade-offs; done means a resolved feasibility decision or a concrete proposal for optional support.
Written by the indexing model from the issue text.
Description
This Stack Switching Proposal introduces one-shot continuations, which are efficient and align with a contiguous stack model. However, languages like Scheme, Racket, and other functional or dynamic languages rely on multi-shot continuations (e.g., call/cc), which can be invoked multiple times and require capturing and restoring the stack.
Would it be feasible to optionally support multi-shot continuations in this proposal? This could allow languages that depend on full continuation support to target WebAssembly without losing core features. Even if there’s a performance trade-off (e.g., using a linked-list stack or stack copying), having the option would broaden WebAssembly’s applicability.
Note : Racket supports both one shot and reusable continuations, both delimited. Scheme only supports undelinited reusable continuations, but they can be implemented over delimited ones
- Dominant language
- WebAssembly
- Stars
- 216
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from WebAssembly/stack-switching
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
WebAssembly/stack-switching#156 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
WebAssembly/stack-switching#145 · 4 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
WebAssembly/stack-switching#144 · 4 comments ·
-
JSPI integration Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
WebAssembly/stack-switching#131 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
WebAssembly/stack-switching#128 · 6 comments ·
All issues in WebAssembly/stack-switching
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
internal.h中,漏掉了1个定义。 Open
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
oxc-project/oxc#26944 ·