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.
clisp
-
Common Lisp Implementations in 2023
One should note that while it is true that the last CLISP release was a long time ago and there is not a lot of development going on right now, it's not dead. Bruno Haible just commited last week.
The repository is now at https://gitlab.com/gnu-clisp/clisp
-
Common Lisp implementations in 2023
CLISP is maintained here: https://gitlab.com/gnu-clisp/clisp/-/commits/master
-
clisp-head from Roswell now has support for package-local nicknames
Roswell has switched its clisp-head to be built from https://github.com/roswell/clisp/ which is based on the commits from CLISP's canonical repository along with patches which add package-local nicknames to it.
-
roswell (21.10.14.111-1): clisp-head support
Oh dang, there is new development on clisp! I had to do some digging to find [the repo](https://gitlab.com/gnu-clisp/clisp), but it looks like the latest commit even adds support for MacOS on ARM.
- Package local nicknames: don't use with quicklisp-targeted packages?
-
SICL: A New Common Lisp Implementation
> phoe got package local nicknames into all implementations
Unfortunately it's not yet in Clisp. I submitted a merge request[1] a year ago, but it's been silent since then.
[1]: https://gitlab.com/gnu-clisp/clisp/-/merge_requests/3
-
Common lisp or Racket as a first lisp?
Quick note, CLISP is actually an implementation of Common Lisp, and as such isn't used as an abbreviation for Common Lisp the language. Could you expand on what you mean w.r.t to package managers? As far as getting up and running with a CL environment, Portacle makes this pretty easy now.
serapeum
-
Steel Bank Common Lisp
> both are dynamic languages with types added later in?
Common Lisp has always had types and type declarations (e.g. `the` in the hyperspec[1]) as it's part of the specification. It was not added later as far as I know.
However, `declaim` and `declare` were left very underspecified so they tend to be very implementation-specific, though there are libraries that make types more portable[2][3].
[1] http://www.lispworks.com/documentation/HyperSpec/Body/s_the....
[2] https://github.com/lisp-maintainers/defstar
[3] https://github.com/ruricolist/serapeum/blob/master/REFERENCE...
-
LISP as a learning tool
From python in lisp I want the convenience for quick scripting, which lisp doesn't have by default but of course it can be added. For example for let's you easily iterate over lines of a file or files in a directory, or anything else you add. serapeum add's convenient syntax for hashmaps (dict and @), and threading macro and plenty of utility functions, defclass-std does the boilerplate of :initarg and :accessor for you for the common cases of class declarations.
-
I'm considering moving from Clojure to Common Lisp
+1 for Serapeum: https://github.com/ruricolist/serapeum/blob/master/REFERENCE.md
-
Compile-time exhaustiveness checking in Common Lisp with Serapeum
Serapeum is an excellent CL library, with lots of utilities. You should check it out. It provides a case-like macro, to use on enums, that warns you at compile-time if you handle all the states of that enum.
-
looking for Advent of Code Tips
Since Alexandria was mentioned may I mention Serapeum as well. Don't know if it's needed for AoC but it may be worth a look. Serapeum seems to get not enough mentions/ attention IMO.
-
Common Lisp intermediate book recommendation
Re: libraries; I'd like to mention serapeum which contains a ton of general purpose utilities.
-
SICL: A New Common Lisp Implementation
I consider Serapeum to be a revamp of the Common Lisp standard: https://github.com/ruricolist/serapeum/blob/master/REFERENCE.... This provides a bunch of new features and idioms including ideas borrowed from newer languages like Clojure.
Great example of "growing a language" as a long-term evolutionary process that doesn't require changing earlier specifications in incompatible ways.
What are some alternatives?
deprecated-coalton-prototype - Coalton is (supposed to be) a dialect of ML embedded in Common Lisp.
trivial-cltl2 - Portable CLtL2
cerberus - Common Lisp Kerberos v5 implementation
trivial-package-local-nicknames - Common Lisp PLN compatibility library.
playwright-java - Java version of the Playwright testing and automation library
ql-https - HTTPS support for Quicklisp via curl
defstar - Type declarations for defun et all. Just a mirror. Ask for push acess!
quicklisp-client - Quicklisp client.
CIEL - CIEL Is an Extended Lisp