5 ms·
This is a nice write up. The dark side is that they've put years into developing the core infrastructure to empower their Lisp game journey. Ideally that's all
by whartung 4y ago
This is a nice write up.
The dark side is that they've put years into developing the core infrastructure to empower their Lisp game journey. Ideally that's all usable by others to "stand on the shoulders", so to speak, but that's always a challenge.
I honestly have never had to work on a "running image" of any consequence. I've never worked on anything more than a few thousand lines of code. I've never needed any kind of source level "step" debugging. The ability to redefine a function quickly, I just throw in some prints to figure something out.
Reloading the entire source file was always fast enough to now warrant hunting down any of the more interactive mechanisms available. This is all across using simple vi, or emacs, or even LispWorks.
(defun l () (load "src.lisp"))
Just save the file, and type that.
All that said, my current low level fantasy is something akin to Electron, only with Common Lisp. First class DOM, first class event hooks, into a CL runtime that you can deploy cross platform. Dunno if that exists or not.
I'm sure at some point my codebase will grow to the point where I would need to "level up" and become more intimate with SLIME, packages, system definitions, etc.
I've just not crossed that threshold yet.
- nine_k 4y agoWhat kind of software do you usually create this way?
- whartung 4y agoEssentially listener utilities (vs command line utilities). Code designed to solve specific problems, typically for their side effects and artifacts vs deployed code in production systems. One off simulations, etc. No UI but the listener.
- jomjomv 4y ago> Reloading the entire source file was always fast enough The point is that you might want to keep the state.
- jaccarmac 4y ago> my current low level fantasy is something akin to Electron, only with Common Lisp. First class DOM, first class event hooks, into a CL runtime that you can deploy cross platform. Have you checked out https://github.com/rabbibotton/clog https://github.com/rabbibotton/clog ? I have only played with a couple of the tutorials, but it seems to be targetting something like that, albeit without an included browser.
- dannyobrien 4y agoThe other direction is https://nyxt.atlas.engineer/ https://nyxt.atlas.engineer/ , which is a CL-driven browser. It's presented as a general-purpose browser, but you can also treat it as a standalone CL with a browser front-end, and I think that's the developer's long-term goal -- a bit like how emacs is a lisp with a text editor front-end.