Gouki Scheme: An Embedded Scheme Implementation for Async Rust
summary
Gouki Scheme is an R6RS implementation embedded in async Rust that compiles Scheme to CPS and JITs it (swapping LLVM for a Cranelift-style pipeline) to produce function pointers usable from Rust. It supports call-with-current-continuation, dynamic-wind, exception handlers, records and full tail-call optimization; Rust functions expose two modes—direct style via procedural macros (continuation barriers) or full CPS with access to a continuation, exception handler and concurrent cycle collector. Benchmarks show reasonable performance on small integrators, correct call/cc behavior, and a surprising win on a 100,000th Fibonacci run.
AI-written summary · about
chapters (10)
- 0:00Welcome to Gouki Scheme
- 0:44What is Rust and Scheme
- 1:48Goals of Gouki Scheme
- 3:37Why not existing Scheme
- 5:43Bridging Rust and Scheme
- 8:10Continuation passing style
- 13:55Unified function pointers
- 15:22Converting Rust types
- 19:46Benchmarking performance
- 22:40Q&A
related talks
19mSuki: Choreographed Distributed Dataflow in Rust
36mRusty Runtimes: Building Languages In Rust
40mRust’s approach of getting things right
56mReady for Rust
42mRewrite It In Rust: Can We RIIR Everything?
28mRust and Scala, Sitting in a Tree….
31mFunctional programming guerilla in the land of Rust
01h 42mGo Vs Rust Round Table
