colisper
slime-critic
colisper | slime-critic | |
---|---|---|
6 | 1 | |
21 | 10 | |
- | - | |
0.0 | 5.4 | |
almost 2 years ago | 10 months ago | |
Emacs Lisp | 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.
colisper
-
Improving REPL experience in terminal?
Without Lem, how do you edit files? We need to edit and load files in the REPL. magic-ed could help. What if before loading the file, we added some style criticisms? The lisp-critic is waiting to be adopted and expanded (while colisper has too simple rules).
-
Rewrite (rule based Lisp (sort of))
Nice! Reminds me of Comby, which makes it easy to match & replace s-exprs too. https://comby.dev/ (I have this POC for predefined Lisp rules: colisper (warn: just a POC))
-
Anyone using code formatter for elisp?
It's also possible to run emacs in batch mode to indent a file: https://github.com/vindarel/colisper/blob/master/emacs-batch-indent.el I don't recall, maybe it won't fix very ill-indented files.
-
What are common mistakes or unidiomatic patterns you see beginners write in lisp ?
You can find examples here: https://github.com/g000001/lisp-critic (lisp-rules.lisp) and to a smaller extent, here: https://github.com/vindarel/colisper (src/catalogue directory). The lisp-critic is available by default on this custom readline REPL: https://ciel-lang.github.io/CIEL/#/repl?id=friendly-lisp-critic so it can be tried at the terminal (in conjunction with the %edit command). It would be nice if it had better editor integration though. (it shouldn't be too hard, there's one function (critique-file pathname) to call on a file).
-
TIL sort is destructive
This kind of stuff should be checked by static analysis tools. I added a rule in colisper (Comby underneath) to check that sort is followed by copy-seq. (best case right now, it doesn't match global vars with earmuffs). I looked at the lisp-critic, it has no check for sort but is a good candidate.
-
Common Lisp code quality assessment
I started colisper, based on Comby, whose goals are 1) to warn about code smells, according to rules you can also define (not unlike the lisp-critic) and 2) rewrite code, including from Emacs. So, it doesn't answer your examples (see sblint), but it might help for the "other metrics".
slime-critic
What are some alternatives?
hiccup - Fast library for rendering HTML in Clojure
quicklisp-systems - Search, browse and load Quicklisp systems from Emacs.
emacs-elisp-autofmt
lisp-system-browser - Smalltalk-like system browser for Common Lisp.
lisp-format - A tool to format lisp code. Designed to mimic clang-format.
lisp-critic - The Lisp Critic scans your code for instances of bad Lisp programming practice.
aggressive-indent-mode - Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode.
40ants-critic - A wrapper around LISP-CRITIC which provides a better interface to analyze ASDF systems and a command-line interface.
emacs-refactor - language-specific refactoring in Emacs
slime-star - SLIME configuration with some extensions pre-installed.
cl-indentify - Automatic indentation for Common Lisp
slime-doc-contribs - Documentation contribs for SLIME (the Superior Lisp Interaction Mode for Emacs)