A vision of a multi-threaded Emacs (2022)

Emacs version 26 introduced basic thread support, paving the way for future concurrent Emacs. Concurrency in Emacs Lisp allows for interweaving execution lines to make progress on multiple programs at once, useful for IO bound applications. The library enables switching between concurrent programs at designated points. The post discusses the potential for fine-grained concurrency and the differences between concurrency and parallelism. The author suggests a parallel Emacs at Level 3 of parallel languages for safety. The post explores challenges in multi-threaded Emacs, including buffers and variables, proposing green threads for lightweight concurrency. Implications of implementing multi-threading are also discussed, raising questions about its necessity and feasibility.

https://coredumped.dev/2022/05/19/a-vision-of-a-multi-threaded-emacs/

To top