Stack-Copying Delimited Continuations for Scala Native
Scala, an industrial-strength functional and object-oriented programming language, is in need for an ergonomic approach to asynchronous programming. Project Loom provides direct-style concurrency to Scala on the JVM, which leaves its low-footprint high-performance backend Scala Native looking for an equivalent mechanism. We present a design and implementation of delimited continuations, a powerful control flow mechanism that provides the fundamental building block for direct-style concurrent and effectful programming, in Scala Native. Our implementation aims to preserve the unique advantages of the Native target: zero-cost C interoperability, runtime modularity and debugger compatibility. Through a detailed discussion of the implementation, we show that despite the limitations with stack address stability, it meets all the requirements of Scala Native while exhibiting comparable performance to our JVM counterpart.
Cite this item
Pham, C. N., & Odersky, M. (2024). Stack-Copying Delimited Continuations for Scala Native. In D. Racordon & O. Zendra (Editors), ICOOOLPS 2024 - Proceedings of the 19th ACM International Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems, Co-located with: ISSTA 2024. https://doi.org/10.1145/3679005.3685979
Click Copy to copy the citation, or select the text manually.
2-s2.0-85207074429
École Polytechnique Fédérale de Lausanne
École Polytechnique Fédérale de Lausanne
2024-09-13
9798400711169
2
13
REVIEWED
EPFL
| Event name | Event acronym | Event place | Event date |
Vienna, Austria | 2024-09-20 - 2024-09-20 | ||