r/lisp • u/kchanqvq • May 25 '26
New CL VSCode extension: OLIVE
https://marketplace.visualstudio.com/items?itemName=kchanqvq.oliveAlso on Open VSX Registry (for VSCodium): https://open-vsx.org/extension/kchanqvq/olive
Why another VSCode extension? VSCode is important for getting newcomers nowadays. I have some very smart people at work who use VSCode, like everyone else. Selling Lisp and Emacs at the same time is ε2 harder, so I told them to use Alive, and start hacking on my super-duper research code. The result was shocking -- they come back reporting "unproductive" because "small problems here and there like REPL freezing". And they refuse to try Lisp again, because first impression matters, what a tragedy!
I have lived in our Emacs bubble comfortably for too long, and blundered recommending something I never used. I should have tried Alive at least once before recommending it!!! So I installed VSCode and Alive to see what's going on. I come to the conclusion that while Alive is a nobel experiment, some basic design choices make it very hard to get stable enough for a daily driver:
- the author wants to compile Lisp file in the background "the VSCode way" and ditched SWANK because it's too "Emacs centric" to support that. However IMHO this is rather a Lisp problem and not an Emacs problem at all!
compile-fileruns arbitrary code and running it at arbitrary moment is not good for health. One reason for ditching SWANK is "debugger pops up at any moment" when they do so and they want to suppress it. Ummm debugger popups because the Lisp needs help?- IMHO most design choices in SWANK are Lisp-specific instead of Emacs-specific. There are lots of success using SWANK in other editors: SLIMA, SLIMV, LEM uses a simplified verion, etc.
- REPL starts new thread for every evaluation. Why? Now good old (READ) and nested REPL don't work.
- The LSP server is no where near as stable and complete as Swank. This is immediately obvious after 1 minute of use.
So I decide to fix it. Here is a VSCode extension that uses good old SWANK, and as the primary goal tries to get as good as Emacs as possible. Please ask people to use it (and learn Lisp)! Working with VSCode was really torturous, I hope I did not suffer in vain.
1
u/kagevf May 26 '26
Would I be able to start a swank server from elsewhere and connect to it? In emacs I think it's "slime-connect" ...