HN user

vindarel

1,496 karma

Pythonista turned lisper.

https://lisp-journey.gitlab.io/pythonvslisp/

I run CL apps in production.

CL, batteries included, fast scripting: http://ciel-lang.org/

I create a Common Lisp course in videos. It's a progressive and structured course, where everything that was hard for me (especially hard to find) is made easy for you. Check it out! https://www.udemy.com/course/common-lisp-programming/?referralCode=2F3D698BBC4326F94358

---

@ vindarel mailz.org

Posts2
Comments588
View on HN

Common Lisp lacks some conveniences that have become common in newer languages, such as concise literals for a wider variety of data structures, persistent immutable collections, lazy sequences and built-in general-purpose pattern matching.

we can explore libraries on https://github.com/CodyReichert/awesome-cl/

concise literals: serapeum's dict or other libraries bring you { } for hash tables and the like.

persistent collections: FSet (and more)

lazy sequences: series, gtwiwtg (generators) (and more)

pattern-matching: Trivia

many libraries are shipped in CIEL: https://ciel-lang.org/ (shameless plug)

---

It’s currently used in …

more example companies: https://github.com/azzamsa/awesome-lisp-companies/

also: https://lisp-screenshots.org/

---

at the cost of slightly slower startup times

that means ±30ms, not the Java-esque slow startup time ;)

---

editors: don't miss https://lispcookbook.github.io/cl-cookbook/editor-support.ht... and the new Mine, OLIVE for VSCode, ICL repl (terminal and browser).

So let's try: SBCL with

* [clj-coll](https://github.com/dtenny/clj-coll) - Clojure collection and sequence APIs in Common Lisp, with optional Clojure collection syntax.

  * provides immutable Cons, Queue, PersistentList, capabilities as well as Vector, Set, and Map analogues built on FSet (but accessed entirely via Clojure APIs).

  * optional read syntax so you can type `{:a 1 :b 2}`, `#{1 2 3}`, and `[1 2 3]`.

* [clj-con](https://github.com/dtenny/clj-con) - Clojure-style concurrency operations in Common Lisp.

* [clj-re](https://github.com/dtenny/clj-re/) - Clojure-style regular expression functions.

* [clj-arrows](https://github.com/dtenny/clj-arrows) - Clojure-compatible threading/transformation/arrow macros for Common Lisp.

editor: https://coalton-lang.github.io/20260424-mine/

type system: Coalton

What about this one? https://github.com/dotcl/dotcl

Common Lisp implementation on .NET. Lisp source is compiled to CIL (Common Intermediate Language) and runs on the .NET JIT — so the same Lisp image runs on Windows, macOS, and Linux across x86-64 and ARM64 without per-platform porting work.

Don't miss out, we had new excellent editors and tools being released in the last months:

Mine: a complete, single-download application that comes with everything needed to experience the interactive and incremental development programming workflow, including hot-reloading and on-the-fly debugging. For CL and Coalton.

https://coalton-lang.github.io/20260424-mine/

OLIVE: a new hand-made plugin for VSCode.

ICL: a new REPL for the terminal and the browser with advanced features.

as a bonus: a JupyterLite kernel based on JSCL that runs 100% in the browser.

find them all: https://lispcookbook.github.io/cl-cookbook/editor-support.ht...

Flight search (Google's ITA Software), underground planning (SISCOG), CAD software (PTC Creo et all), the Gollum face (Mirai), automation of document extraction, renewable energies resource planning (3E), project management (planisware),

games (Kandria),

Maxima,

a faster pgloader (https://tapoueh.org/blog/2014/05/why-is-pgloader-so-much-fas...),

hackernews (was rewritten to SBCL: https://lisp-journey.gitlab.io/blog/hacker-news-now-runs-on-...), first reddit…

https://lisp-screenshots.org/

https://www.lispworks.com/success-stories/

also Emacs (for another dialect).

I like History but I'll comment about Lisp in web apps today, if I may. We have a choice of web servers and web libraries (https://github.com/CodyReichert/awesome-cl/#web-development), and we live in happy times where HTMX or Datastar are great fit for Lisp -as with any stack. See these Datastar examples built in CL: https://github.com/fsmunoz/datastar-cl I use and like the Mito ORM too, which comes with automatic migrations and, since last year, a composable query engine (SxQL).

Here you will find some screenshots of some of today's web applications built in CL: http://lisp-screenshots.org/ and here an opinionated tutorial: https://web-apps-in-lisp.github.io/ One example: ScreenShotBot https://screenshotbot.io/ a successful open-source product and company. It now replaced Facebook's automatic screenshot testing tool (source: their blog). So, web apps in Lisp are possible -with a right amount of learning time and elbow grease.

The incremental development and interactive top-level are still precious and unmatched.

Notes on CL:

- why nothing on the "compiler" line? Everytime you load a snippet or a file with SBCL, it compiles it (to machine code). There's also compile-file.

- interpreter: likewise, all code is compiled by default with SBCL, not interpreted, even in the REPL. To use the interpreter, we must do this: https://github.com/lisp-tips/lisp-tips/issues/52

- command line program: the racket cell shows the use of -e (eval), the same can be done with any CL implementation.

- since the string split line introduces cl-ppcre, one could mention cl-str :D (plug) (much terser join, trim, concat etc)

- ah ok, for dates and times, flattening a list, hash-table literals… we need more libraries.

- more files operations: https://lispcookbook.github.io/cl-cookbook/files.html

- emacs buffers: now compare with Lem buffers 8-)

- posix-getenv: I'd rather use uiop:getenv (comes in implementations).

- uiop:*command-line-arguments*

- exit: uiop:quit

- uiop:run-program (sync) / launch-program (async)

- java interop: with LispWorks or ABCL (or other libraries)

my 2c

more importantly, as you precise below, you edited (and somewhat corrected) the article after feedback from /r/lisp. So it isn't only AI output.

Previously:

SBCL (16 days ago) https://news.ycombinator.com/item?id=47140657 (107 comments)

Porting SBCL to the Nintendo Switch https://news.ycombinator.com/item?id=41530783 (81 comments)

An exploration of SBCL internals https://news.ycombinator.com/item?id=40115083 (106 comments)

Arena Allocation in SBCL https://news.ycombinator.com/item?id=38052564 (32 comments)

SBCL (2023) https://news.ycombinator.com/item?id=36544573 (167 comments)

Parallel garbage collection for SBCL [pdf] https://news.ycombinator.com/item?id=37296153 (45 comments)

SBCL 2.3.5 released https://news.ycombinator.com/item?id=36107154 (31 comments)

Using SBCL Common Lisp as a Dynamic Library (2022) https://news.ycombinator.com/item?id=31054796 (67 comments)

etc

Examples with screenshots: http://lisp-screenshots.org/

Some companies: https://github.com/azzamsa/awesome-lisp-companies/ (Routific, Google's ITA Software, SISCOG running resource planning in transportation, trading, big data analysis, cloud-to-cloud services, open-source tools (pgloader, re-written from Python), games (Kandria, on Steam and GOG, runs on the Switch), music composition software and apps…

More success stories: https://www.lispworks.com/success-stories/

I myself run web-apps and scripts for clients. Didn't ditch Django yet but working on that.

I'd prefer that a LispWorks user answer, but there are quite a few interesting features, such as:

- tree shaking and small binaries (±5MB a GUI app)

- the CAPI cross-platform and native GUI toolkit

- mobile platforme runtime (iOs, Android)

- its Java interface

- its KnowledgeWorks system for "rule-based, object-oriented, logical, functional and database programming"

- more?

ps: today we maintain a list of pretty decent libraries: https://github.com/CodyReichert/awesome-cl/

I think LispWorks is fine (also look at these plugins https://github.com/apr3vau/lw-plugins - terminal integration, code folding, side tree, markdown highlighting, Nerd Fonts, fuzzy-matching, enhanced directory mode, expand region, pair editing, SVG rendering…) but I had this feeling with the newer web-based Allegro IDE (the poor syntax highlighting surprised me, did I do sthg wrong?).

TBH no people don't google (what they don't expect to see), repetition and showing links is necessary. I hadn't followed along. Hope it will get contributors.