colisper
lisp-system-browser
colisper | lisp-system-browser | |
---|---|---|
6 | 3 | |
21 | 61 | |
- | - | |
0.0 | 0.0 | |
almost 2 years ago | over 1 year 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".
lisp-system-browser
-
How do you list which symbols are available for a particular package?
New-ish projects give you a GUI to browse packages and their symbols (functions, macros, variables): https://github.com/mmontone/cl-livedocs, https://github.com/lokedhs/docbrowser, https://github.com/mmontone/lisp-system-browser
-
Does Common Lisp or CLOS have some library or facility that provides the easy access to an object's methods and properties that Smalltalk does?
and this: a Smalltalk-like system browser for CL (in Emacs): https://github.com/mmontone/lisp-system-browser (POC, early days)
-
How practical could CLOS paired with a Smalltalk-like IDE be?
This? https://github.com/mmontone/lisp-system-browser (a smalltalk-like system browser)
What are some alternatives?
hiccup - Fast library for rendering HTML in Clojure
medley - The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
emacs-elisp-autofmt
slime-critic - SLIME extension for Lisp Critic
lisp-format - A tool to format lisp code. Designed to mimic clang-format.
slime-star - SLIME configuration with some extensions pre-installed.
aggressive-indent-mode - Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode.
closer-mop - Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.
maiko - Medley Interlisp virtual machine
emacs-refactor - language-specific refactoring in Emacs
cl-livedocs - Live web documentation browser for Common Lisp. Based on Webinfo project.