#CommonLisp

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

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

Lol, this is unexpected and sad :drgn_flat_sob:

Installed "file-attributes" library to retrieve ctime from files and got "Not implemented"

#CommonLisp #programming

Emacs with two windows. Top window shows REPL error with the message "Not implemented". Bottom window is the SLiMe REPL with (file-attributes:creation-time (uiop:parse-unix-namestring "/home/drag0n/test/test2.jpg")) S-exp executed.
Lispy Gopher Climate w/ screwlispscrewtape@toobnix.org
2026-03-04

Cees de Groot, Kent Pitman, Ramin Honary, screwlisp #commonLisp #lisp user interfaces and the ages, #climate

toobnix.org/w/9otb9JbqRUenLUjK

@screwlisp is having some site connectivity problems so asked me to remind everyone that we'll be on the anonradio forum at the top of the hour (a bit less than ten minutes hence) for those who like that kind of thing:

anonradio.net:8443/anonradio

He'll also be monitoring LambdaMOO at "telnet lambda.moo.mud.org 8888" for those who do that kind of thing. there are also emacs clients you should get if you're REALLY using telnet.

Topic for today, I'm told, may include the climate, the war, the oil price hikes, some rambles I've recently posted on CLIM, and the book by @cdegroot called The Genius of Lisp, which we'll also revisit again next week.

cc @ramin_hal9001

#LispyGopher #Gopher #Lisp #CommonLisp

Emacs is slowly but surely winning the war of attrition against all other #CommonLisp IDE solutions. I tried Pulsar (f.k.a Atom) + SLIMA the other day. I followed the setup instructions meticulously, and trying to fire up the SLIME repl just causes some internal error because a deprecated (and removed) internal API was called. Every IDE + plugin solution I have tried has been bitrotted. Mostly, I blame the IDEs for unstable Plugin APIs.
Yes, Emacs *just works*.

2026-03-03
2026-03-03

AdBlock Plus filter parsing library for #CommonLisp I was talking about earlier: codeberg.org/aartaka/cl-adbloc

Right now, it's a mere parser, no blocking nor compilation yet.

2026-03-03

Showcasing multiple projects in this screencast. (The live repl is infant.)

sr.ht/~hajovonta/cl-jsonpath/
sr.ht/~hajovonta/cl-web-editor/

#commonlisp

Daniel Kochmańskijackdaniel@functional.cafe
2026-03-03

Reposting my old diagram of #commonlisp implementations

#lisp

Graph of Common Lisp implementations
2026-03-03

Finally did some non-work programming today! Adblock Plus filter parsing in #CommonLisp. Almost done with the initial phase, but it’s not pretty enough to publish yet 😅

All of this feeds into my idea of user content browser, with compiled user-provided rules they can edit at will. To enable that, I first need to reliably parse, and then compile them to either state machines (general case) or WebKit filter JSONs (my choice for this hypothetical browser.)

Little by little.

2026-03-02

Having been conditioned at my #Clojure dayjob to never print big values (lest it will clog up the output buffer in VSCode and render it unusable,) I had a moment of primal fear when I accidentally evaluated a list of 90K entries in #CommonLisp REPL. I was expecting it to blow up and die.

But no, CL just printed the first 10 entries and an ellipsis.

Clojure, you could have had *print-length* too!

UPDATE: Clojure has *print-length* and *print-level*, but they default to unset, which is quite dangerous.

Client Info

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