# WASM Proposal Lacks Support for Reusable Continuations

**URL:** <https://racket.discourse.group/t/wasm-proposal-lacks-support-for-reusable-continuations/3553>\
**Category:** General\
**Created:** [February 9, 2025, 11:42am UTC](https://racket.discourse.group/t/wasm-proposal-lacks-support-for-reusable-continuations/3553 "2025-02-09T11:42:53Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![GunpowderGuy](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/gunpowderguy/32/2192_2.png) [@GunpowderGuy](https://racket.discourse.group/u/GunpowderGuy)\
**Post date:** [February 9, 2025, 11:42am UTC](https://racket.discourse.group/t/wasm-proposal-lacks-support-for-reusable-continuations/3553/1 "2025-02-09T11:42:53Z")

</div>

The **WebAssembly Stack Switching Proposal** is introducing support for **one-shot continuations** , which can only be resumed once. This is great for features like coroutines or async/await, but it falls short for languages like **Racket** , where **reusable (multi-shot) continuations** are a core feature.

I’ve opened a **[GitHub issue](https://github.com/WebAssembly/stack-switching/issues)** suggesting optional support for reusable continuations. Possible approaches include using **linked list stacks** (as in traditional persistent data structures) or extending the proposal to better accommodate multi-shot behavior. Alternatively, generating **CPS-transformed WebAssembly** code could serve as a workaround, but it comes with its own trade-offs.

If anyone is working on compiling Racket to Wasm or has insights on this, I'd love to hear your thoughts!

Edit : This is the correct link  
[Optional Support for Multi-Shot Continuations · Issue #110 · WebAssembly/stack-switching](https://github.com/WebAssembly/stack-switching/issues/110)
