Coroutines, and generators more specifically, will be in my opinion the basis for asynchronous programming a la Rust.
BEAM style concurrency requires preemptive scheduling which I don’t see happening. It requires a rewrite from the ground up.
BEAM style concurrency requires preemptive scheduling which I don’t see happening. It requires a rewrite from the ground up.
To the extent that things are immutable and side-effect free, then it’d be data race free like Rust, but how does it handle code that needs to mutate state?
Just for the perspective, Rust is 9 years old, SBCL 25 years old and the first implementation of Lisp is 64 years old
The rust borrow checker also eliminates memory allocation bugs, but that’s less interesting to me.