- Introduction to scheme-rs: An introduction to scheme-rs, a work-in-progress implementation of R6RS with seamless interoperability to async Rust.
- Love for Rust: The author loves Rust and has used it for about ten years, believing it to be well-designed including async. But async Rust has poor debugging and iteration experience with slow compile times and inscrutable error messages.
- Need for a glue language: Async Rust needs a proper glue language, and that's where
scheme-rs
comes in. It allows dynamic gluing of code and provides a REPL for debugging. - Choice of Scheme: Scheme is chosen as it has a small core and is extremely expressive, with an excellent macro system and homoiconic nature. It also has millions of lines of code already written.
- Theoretical language Gouki: A theoretical language built upon Scheme with a stronger and more useful type system, sitting between
scheme-rs
and Rust. - Status of scheme-rs: It is a work-in-progress, missing some builtins like
dynamic-wind
, error handling, and records. The interface is a bit clunky, but the bones are there with proper tail calls and call-by-current-continuation, and an extremely robust macro system. - Re-architecture: The author spent the last month converting
scheme-rs
from an interpreter to a compiler to make it competitive with mature Scheme compilers likeChezScheme
, although it significantly slowed performance. - Hope for the future: The author hopes to complete R6RS soon and focus on making the compiler produce the best code. He encourages others to look at
scheme-rs
and contribute if interested.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。