SBSL+SLIME+Emacs usually put one in the flow state in no time. That’s what keeps amazing me and keeps me productive.
And then, Claude seems to be quite alright discussing tricky Common-Lisp-related stuff.
Nolan: That's the neat thing—you don't.
One of the interesting and, depending on your perspective, perhaps unfortunate side effects of LLM-assisted development becoming the standard is that LLMs almost completely disincentivize choosing an unpopular language for serious work. Due to the much higher volume of training data, you're better off using TypeScript, Go, or Rust (or Swift if you're in Apple-land or Kotlin if you're in Android dev hell). Those languages with an LLM will make you far more productive than even an "expressive" language like Lisp.
Plus there are complete, modern IDEs for those that let you get started right from the jump, rather than having to build your own IDE out of Emacs and assorted parts before you can actually develop your application.
https://github.com/jpalardy/vim-slime
I don't know if it's as powerful as the real thing, but it allows you to "send" your current vim line or paragraph to a tmux instance running a lisp interpreter, essentially. Very useful.
However I do agree with the AI part.
The feedback loop is probably the best in class from anything i have ever used. No IDE comes even close.
An easy way to start with Lisp-Stat
It’s never been easy for a developer to get started in Common Lisp. Emacs, though a powerful editor, isn’t considered an IDE by modern standards. Setting up a compiler, quicklisp, slime, swank, and then learning an entirely new programming paradigm has scared off many would-be entrants to the Common Lisp community.
Given the size of the Common Lisp community this is understandable. Making the new user experience smooth and frictionless as possible is hard work. It’s the kind of work that no one volunteers for; it’s the kind of work you have to be paid for.
Still, it’s a pre-requisite for new users, so I’ve created ls-dev-image, a ‘batteries included’ OCI image for Lisp-Stat or just plain Common Lisp development. Assuming you have an OCI (e.g Docker) runtime installed, you can get started with:
docker run --rm -it --user vscode -w /home/vscode ghcr.io/lisp-stat/ls-dev:latest bash
and from the shell you can type ’emacs’ followed by ‘M-x slime’ and start hacking Common Lisp.
This OCI image is configured with emacs, slime, quicklisp, lisp-stat and a few sample data sets and plots. A ls-server is also configured to start automatically on port 20202. If you open your browser and point it to https://localhost:20202 (or other port, depending on your OCI container configuration) you’ll see the web interface for displaying plots and viewing/editing data-frames. It also has a ‘refresh’ script so that you can stay synced with the upstream lisp-stat, which is being updated frequently.
You can also run a this image in GitHub codespaces.
I’d like to point out that you can use this for any Common Lisp development, not just Lisp-Stat. Contributions and bug reports are welcome and encouraged.