Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
It is missing the Lem editor, that works for CL out of the box but also for more languages (Python, Rust, HTML… and a directory mode). https://github.com/lem-project/lem/ It works on the terminal and in an experimental Electron front-end. More are in the works. It lacks docstrings and documentation, but its gitter chat is somewhat active and different people showed interest in helping.
It is an easy to install CL editor and REPL, so it's worth checking out for newcomers, it can help.
https://lispcookbook.github.io/cl-cookbook/editor-support.ht...
The original version of DrRacket was written in C, but it has been rewritten in Racket a long time ago. https://github.com/racket/drracket
I use a mix of DrRacket, WinEdt and Geany (with more color in the matched parenthesis).
If common lisp is the go-to lisp, that's a sad indictment of lisp itself. By commit counts in Github in first quarter of 2022, it doesn't even break into top 50 languages [1]. Surely a flawed metric, but it's damning when you have Elisp - configuration language for a freaking text editor - at #25, and Clojure at #28.
[1] https://madnight.github.io/githut/#/pushes/2022/1
Kawa (like Clojure) runs on the JavaVM, but has a longer pedigree (from 1996), good compatibility with standard Scehemes (including R7RS), and has a stronger emphasis on performance: It has optional types and semi-decent type inferance so it is easy to write code as performant as Java. It also has fast startup, and is unopinonated on how you run and bundle applications: it generates pretty vanilla class files that interoperate with Java easily. See https://www.gnu.org/software/org and https://gitlab.com/kashell/Kawa
> And Lisp is almost uniquely able to handle transitions to later standards as I described above. You don't actually have to forfeit backwards compatibility entirely or at all if the changes are handled by moving to a new default base package. :cl-user/:cl become :cl##-user/:cl##
Go use cl21[0] if you care for this sort of thing.
> more generic functions would open up more interesting developments later
generic-cl[1]. But in a prefix-oriented language, I just don't see this as particularly important.
> you don't necessarily want to bless a particular concurrency model
You do[2]; this is one of the notable deficiencies in the cl standard that really bites, today. It is being worked on.
0. http://cl21.org/
1. https://github.com/alex-gutev/generic-cl
2. https://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf
> And Lisp is almost uniquely able to handle transitions to later standards as I described above. You don't actually have to forfeit backwards compatibility entirely or at all if the changes are handled by moving to a new default base package. :cl-user/:cl become :cl##-user/:cl##
Go use cl21[0] if you care for this sort of thing.
> more generic functions would open up more interesting developments later
generic-cl[1]. But in a prefix-oriented language, I just don't see this as particularly important.
> you don't necessarily want to bless a particular concurrency model
You do[2]; this is one of the notable deficiencies in the cl standard that really bites, today. It is being worked on.
0. http://cl21.org/
1. https://github.com/alex-gutev/generic-cl
2. https://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf