dots
slime-breakpoints
dots | slime-breakpoints | |
---|---|---|
1 | 3 | |
0 | 15 | |
- | - | |
4.2 | 6.7 | |
5 months ago | 10 days ago | |
Vim Script | Emacs Lisp | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dots
-
Embracing Common Lisp in the Modern World
I mostly agree, though I find Allegro and LispWorks severely lacking in areas too. The companies themselves don't seem to care much about their IDEs. Certainly not in the way JetBrains cares about IntelliJ.
Tucked away in the McCLIM project is Clouseau, which you can quickload and use as a normal user: https://codeberg.org/McCLIM/McCLIM/src/branch/master/Apps/Cl... One small cool thing it does is if you inspect a complex number it will also draw a little x-y vector. (Though trying it out again just now it's overlapping with the text... maybe I should file a bug, but I've only now just learned they moved off github, and I'm not going to make a codeberg account. Friction wins this round.) It does take a while to first compile and load all the dependencies, especially 3bz, another weakness of at least our free Lisps; AFAIK there's still no equivalent of make -j for compiling systems.
I'm a happy vim user (though there is some jank with slimv, admittedly, but it's mostly prevalent around multiple thread situations) and setup the command ,ci to call my own clouseau-inspect function; it just inspects a symbol with clouseau instead of slimv's inspector. Also have a janky watch/unwatch pair of functions that just refreshes the inspector every second. (https://github.com/Jach/dots/blob/master/.sbclrc#L113 if curious, some other junk in .swank.lisp and .vimrc too, and there's https://github.com/dense-analysis/ale/issues/4061 to call sblint on your project...)
But better forms of these sorts of graphical tools are what I hope to one day see more of and are how the free Lisps can close the gap in this area with the commercial Lisps. I believe there's not much Allegro can do that poking around SBCL can't do, but for many things it's just nicer to have a GUI. Want to explore all the symbols and values in a package? Easy enough to script that, but not as nice as just having a table of symbols, and even nicer if you can set watches on some of them. None of the tools need to be tightly integrated with a single IDE either, because all the stuff necessary to debug Lisp is in the running Lisp itself. It's just that the GUI situation continues to suck.
LSP has gotten more popular with other languages and editors, sometimes I wonder if the acronym was made as an inside joke because it's basically how Lisp + Slime/Swank have worked...
slime-breakpoints
-
Embracing Common Lisp in the Modern World
Do you say so for Emacs and Slime's debugger too? It's certainly weird at first, but powerful and integrated. Although it isn't graphical like LispWorks' (and probably Allegro's), so I agree it could be even better. (for readers: Slime's debugger is not a separate CLI tool running in a window)
(ps: see slime-breakpoints for a nice graphical addition: https://github.com/mmontone/slime-breakpoints)
- SLDB-SOURCE-EVAL: SLIME debugger (SLDB) extension that adds debugger context based evaluation directly from Lisp source buffers.
-
Debugging in Lisp
LispWorks has point-and-click breakpoints. For Slime, there is the new https://github.com/mmontone/slime-breakpoints Otherwise, we must insert a break and recompile the function (with debug settings).