🔗 An Async / Await Library for Emacs Lisp


For the same reason, stackless async/await coroutines can also be implemented as a library. So that’s what I did, letting Emacs’ generator library do most of the heavy lifting. The package is called aio :

介绍了 emacs-aio 包的由来、实现和存在的不足。


建议读一下 TAOCP 第一卷的 1.4。

Coroutine 本来是用汇编编程的概念,本身是没有 stack 的。

有没有 stack 的区别就是需不需要 allocate call stack frame 的区别。用 function 实现自然需要 call stack,有 call stack 就能 suspend,甚至还能有 first class continuation。


然后配合generator可以用async await