#CommonLISP

2026-03-13

Can you Lisp without being strapped in to the torment nexus machine?

https://zyd.lol/lisp-against-the-machine.html

New page listing every non-toy Lisp, Scheme, and Lisp-adjacent project (that is at least somewhat maintained the past couple years) and their position on LLM contributions. Yell at me if I missed any.

Updating as projects respond.

EDIT: Updated page. Added every active CL implementation. Also added Emacs Lisp. Some Scheme implementations have moved into the 'accepting' categories for LLM contributions. Sadly only four Schemes left, and only one thus far is opposed to LLMs. Only editing this post once so as to not harass peoples notifications.

#lisp #scheme #commonlisp

2026-03-12

I haven't had much time to work on my backend for this week but here is a small extension of the previous success. Here I'm reading the Japanese translation of the UN Declaration of Universal Human Rights from a file and rendering the string directly to a scrollable CLIM window.

When I inspect the text atlas (not shown) it appears to have 1714 items cached.

A screenshot with an Emacs editor session in the background; using a light grey on dark, muted blue background theme; and showing Common Lisp code for a small McCLIM application. The code shows loading a font file and using the `draw-text*` method to render text with that font.  In the foregound there is a window, partially occulding the background editor, with black text on a white background rendering the Japanese version of the UN's Declaration of Universal Human Rights. The Japanese glyphs are rendering correctly until the very bottom where placeholder glyphs are rendered across the window width.
2026-03-11
An idea to defeat #GenerativeAI in #FreeSoftware:

Just use a #ProgrammingLanguage that isn’t popular (e.g. #Haskell or some #Lisp dialect) to write your code, but publish human-readable intermediate form of that code in the public code repositories (e.g. the C programming language). Share the actual source code privately with trusted contributors in non-public branches, and require GPG signatures on actual contributions.

You could argue that not sharing source code is against the GPL, but the GPL does allow you to share the code as a hard copy printed on paper and sent over snail mail. Or you can just wait until the person asking is an actual human that you can trust not to use the source code for LLM training.

LLMs are unable to learn unpopular programming languages because they don’t have a sufficient corpus of training data to learn how to code it, so if your receive a contribution in C, thank the contributor but inform them that they will have to rewrite the contribution in your Lisp dialect before you can accept it.

#Scheme dialects like #Gambit , #Chicken , and #Bigloo would work well for this. So would a #CommonLisp implementation that translates to C such as #ECL . Although keep in mind that the idea is to use a less popular language, so you may have to further obscure these languages a little bit, but not in a way that would be difficult for humans. For example, using a macro system, you could use df instead of define, rename types of things like string? to utf8str?, use generic functions with mulitple dispatch so append will work on strings, lists, vectors, and bytevectors. Small tweaks like this might throw-off an LLM asked to write source code in Lisp.

#tech #software #LLMs #LLM #FOSS #FLOSS #OpenSource #SchemeLang #R7RS

2026-03-11

Wow. What a self serving and misguided thing to do.

github.com/quicklisp/quicklisp

About the best I can say is that if you're looking to learn the meaning of plagiarism, this is a great place to start.

#lisp #commonlisp

Update, need some new tags:
#copyrightwashing #licensewashing

I installed and am using #Portacle, the #CommonLisp IDE (tm). I can't install `evil` to get my precious vi-style modal editing because it refers to a version of undo-tree that does not exist on the server. First of all, why? Was version 0.7 of undo-tree so egregiously bugged that it had to be deleted? Updating the package list is literally taking forever, I think it stalled out. The gods are telling me to use vanilla #Emacs, so far the only Common Lisp IDE that has been usable at all.

2026-03-09

#itchio #programming style #devlog #conditionHandling #commonLisp #reliability #softwareEngineering

lispy-gopher-show.itch.io/leon

Finally pretty happy with my "programming ls" example. This is a good programming with conditions first blush, I think.

Programming with signals and restarts that a run-time handler-bind hooks into gives a program, such as my %%ls here, *forward compatibility* not just *backwards compatibility* - which I explore as a property of ansi common lisp itself.

Thoughts!

Lightfield emacs text:

CL-USER> (handler-bind
    ((want-ls #'targets-dir)
     (want-ls #'fun-retry)
     (want-ls #'fun-again)
     (want-ls #'list-rel-to)
     (want-ls #'prints-target))
  (restart-case
      (%%ls "*.*")
    (retry (target)
      (%%ls target))))

"md/#Section1.fragment.md#" 
"md/.#Section1.fragment.md" 
"md/Section1.fragment.md" 
"md/Section1.fragment.md~" 
NIL
Lispy Gopher Climate w/ screwlispscrewtape@toobnix.org
2026-03-08

Public Lispy Gopher Climate sunday Morning in Europe stream - 3/8/2026, 7:48:59 AM

toobnix.org/w/ueLph1idzd7HDrz9

2026-03-08

#lispyGopherClimate okay Mastofriends, it is Sunday-Morning-In-Europe ( #peertube #live ) time.

toobnix.org/w/ueLph1idzd7HDrz9

My ansi #commonLisp #conditionSystem | #ontology blog here : lispy-gopher-show.itch.io/leon or what it is like on my machine, anyway!

Failed attempt to verbally skim Kent Pitman, Ramin, Crew, DM, et al.'s thread: climatejustice.social/@kentpit though it is weeks of reading material.

Edit: Ignore every mention of the very nice mastodon, founder of Java please. My brain was not working.

2026-03-08

A #commonLisp #conditionSystem #gopher take 2.
Previously I signalled a gopher-request: The server matched the item specifier in an alist, and chose an itemtype restart.

As you know, this is wrong: rfc1436's *client* chooses how to interpret the response.

Instead I guess these are the layers of restarts:

Server has all its item specifiers as restarts.

All of these restart to copying the "byte" stream to the client.

The client restarts the response stream to their chosen itemtype restart.

2026-03-08

lispy-gopher-show.itch.io/leon
#devlog (!) #commonLisp #programming #article on my #itchio .

Since I forgot I had to ping aral to let my blog webhook work again, here is this article exhibiting

The ANSI common lisp condition system

in particular, I wrote an #ontology for classical! #lisp expression generation supporting precondition .. postcondition = handler .. local restart

interactive #repl exploration. The blog will resume its webhook updates next week. I should love this itch already anyway.

2026-03-07

This week's project is a RFC-2812 compliant IRC server for Common Lisp.

Server-server communication is not implemented yet.

git.sr.ht/~hajovonta/cl-irc-se

#commonlisp

Nicolas Martyanoffgaldor@fosstodon.org
2026-03-07

I had to refactor my #CommonLisp reader to split reading an object and reading a token: to read uninterned symbol (e.g. "#:FOO"), you need to read a token after "#:" and not an object. Annoying. But it seems to work.

* (list t nil foo :bar #:hello 123 #\\a "foobar")
(LIST COMMON-LISP:T COMMON-LISP:NIL FOO :BAR #:HELLO 123 #<CHARACTER a> #<STRING "foobar">)

(the printer does not support characters or strings yet)

2026-03-06

@jalefkowit my thoughts on Paul Graham are complex as he was a big thing in the #CommonLisp community back in the day. I own his books on Lisp*, and have read his essays on stuff like lambda functions, closure and language design. Which made sense at the time.

He appears to have made a sack of cash, set up Y Combinator in SF and transformed into a stunted, hateful gibbering shit-gibbon. Who I now studiously ignore.

* ANSI Common Lisp** and On Lisp***
** which is very good
*** and not as good

2026-03-06

code.metalisp.dev/marcuskammer

maildir-backup is a program written in #commonlisp which executes mbsync to download emails and zip to package them and moves this zip to Documents folder so that this zip can be synced to my Nextcloud instance.

2026-03-05

Yep, I just needed a little break to think... NotoSans did not have CJK characters. Switching to ipaexg.ttf and, yay!, we have Japanese chars rendering to the text atlas confirmation.

A screenshot showing two windows on each half of screen. On the left  is an Emacs code editor showing common lisp code for a text drawing demo and a running REPL. On the right is the demo application window running. It has various option boxes for controlling the rendering of a text string showing in the lower half of the same window. There is text present that is clearly legible 日本語文字でフォントアトラスをできたかも! indicating success
2026-03-05

Streaming today because I can't tomorrow. I'll be focused on more text atlas debugging and struggles but at least it's and while fighting :D

It's short notice but I'm probably starting in 10-ish minutes... approx 10:40 CST / 14:40 UTC

twitch.tv/endparen

Eugene :freebsd: :emacslogo:evgandr@bsd.cafe
2026-03-04

BTW, SBCLs "(sb-posix:stat-ctime (sb-posix:stat filename))" somehow returns wrong ctime — I got 1956 as a file creation year, while IRL it is equal to 2026 :drgn_flat_sob:

#CommonLisp #SBCL

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst