#Commonlisp

2026-01-21

It's janky but visually successful! I've fixed / implemented the COPY-FROM-PIXMAP family of CLIM protocols for my wayland-ffi backend.

I'm now successfully rendering to a FBO texture using the backend itself via WITH-OUTPUT-TO-PIXMAP and then blitting it to the main native EGL buffer. COPY-*-PIXMAP operations are specified to be pixel blitting ops even though most app developers might want to stick to normal texture rendering.

Now to make it more right

A large screenshot showing two windows. On the left an emacs editor with a code buffer and a SLIME REPL buffer. The REPL show lots of debugging output from my wayland-ffi backend resulting from rendering and interacting with the right-hand window.

The right hand window shows the "Drawing Tests" demo with "Pixmaps" option selected. There are two main drawing areas to the right of the options selection area. Each drawing area shows 4 images of a rosette mandala, each on a bright green background drawn in a greyish blue. There is 1 full-sized 200x200 image and 3 other "copies"  that are smaller or have a different clipped region.

The left drawing area is drawn with my wayland-ffi backend and the right drawing area is with a software-based renderer backend. The goal is for both images to match. In this case they are very close. One of my 4 images isn't clipping quite correctly yet.A screenshot of the "Drawing Tests" McCLIM demo rendered with my wayland-ffi backend. The "Pixmap 2" test is selected. There are two drawing area windows that look nearly identical showing 3 red squares with various horizontal, vertical, and diagonal black lines. There are also green colored lines and outlined ellipses.

The left drawing area is done with wayland-ffi and the right with a software renderer backend. There are some differences in color intensity but I think this is a successful rendering.A similar Drawing Tests demo screenshot. This one shows Pixmap 3 demo. The two drawing areas are again very near identical barring some color intensity and less anti-aliasing on my wayland-ffi backend rendered side (left). The rendered image is a medium sized red square with geometric lines of various color overlayed.
Lispy Gopher Climate w/screwlispscrewtape@communitymedia.video
2026-01-21

#KMP #commonLisp #lisp #conditionHandling lore #lispyGopherClimate + #schemacs #emacs #elisp #programming

communitymedia.video/w/snsfQGJ

2026-01-21

For a long time, I had this idea that (string-equal "AAAAAA" something) in #CommonLisp means that it might match both "AAAAA" and "aaaaa". What I didn't think about was that it also might match "AaAaA" and whatever. Which means that some of my code processing s-expressions is buggy in terms of symbols of mixed case, comparing them to a lowercase/uppercase binary and erasing important information. So string= it is.

I dunno if it even makes sense, just a random realization that my mental model is flawed.

2026-01-20

😮 Try #lisp in the browser in a #Jupyter Lite notebook: wiki3-ai.github.io/jscl-kernel/

src: github.com/wiki3-ai/jscl-kernel

join the discussion: github.com/jscl-project/jscl/d

⚠️ it's very new (with some LLM inside).

For a "real" CL kernel: github.com/yitzchak/common-lis

#commonlisp

Nicolas Martyanoffgaldor@fosstodon.org
2026-01-20

Any language or library that uses the term "filter" for a method is ill-designed: you have no way to know what it does! "select"/"reject" is good, #Ruby got it right. In #CommonLisp, REMOVE/DELETE are sort of ok, but there's no function for selection.

mahamindmahamind
2026-01-20

@michelfliegt Hallo Michael. Ich bin Hobbyprogrammierer. Ich fing mit an, um meine kleinen Nerd-Probleme zu bearbeiten. Über kam ich an Slime & . Nach einem Monat "Parenthesenkopfschmerz" bemerkte ich, dass ich 10x produktiver mit Lisp geworden bin. Die REPL ist flowinduzierend und die Sprache leichter an die Probleme anpassbar. Python fand ich mehr statisch und im Vergleich: macht weniger Spass!

2026-01-19

Trivial memory cardgame in the #commonLisp #repl . (Er, using #McCLIM presentations).
screwlisp.small-web.org/lispga

A good beginner example.

As I reveal in the thrilling conclusion

screwlisp.small-web.org/lispga

this small post is a step on the way to using xhtmlambda to generate a kitten webgame soon.

CLIM-USER> (reveal (elt *cards* 3))
T
CLIM-USER> (disp)
X,X,3,1,2,3
G3648,G3647
NIL
CLIM-USER> (reveal (elt *cards* 0))
NIL
CLIM-USER> (disp)
1,X,3,X,X,3
G3644,NIL

Sharpsign #lispgames #programming

2026-01-19

I actually added an example of using xhtmlambda at the end #commonLisp
<> (def-element foo :specific-attributes (bar))
IS-FOO
<> (def-element baz)
IS-BAZ
<> (def-element buzz :specific-attributes (frob))
IS-BUZZ
<> (with-html-syntax-output
(t)
((foo :bar "coelacanth")
"dodo"
(baz "harpagonis")
((buzz :frob "Marsupial lion"))
"moa"))
<foo bar="coelacanth">
dodo
<baz>
harpagonis
</baz>
<buzz frob="Marsupial lion" />
moa
</foo>

2026-01-19

How my #incredible #markdown #blog #webdev works and moving to using #commonLisp xhtmlambda to generate #smallweb kitten's fragment xml from s-expressions.

screwlisp.small-web.org/kitten

cc @marcoxa @aral neither of whom are directly at fault for my incredible #webDesign skills (merely enablers).

Helpful commentary is welcome.

2026-01-18

Archive toobnix.org/w/evepEXh69p6YaWYs

Planning to have a debugging-the-new-year-streaming peertube live this sunday morning in Europe in about an hour toobnix.org/w/gXLXQqxf5MYg1NDF where I will talk about lisp and time, lightly brush Naggum's naggum.no/lugm-time.html and date formatting / format controls and RSS.

#archived , #commonLisp #irc on liberachat please. I will see if the code in my blog actually works and read some of @mattof 's writing about RSS.

Lispy gopher climate banner featuring the lisp alien, gopher and sunday morning in europe toobnix.org link.
2026-01-18

screwlisp.small-web.org/moment

A whole bunch of quick date format conversion muddling but I think I got to RSS in the end.

If you forgot how to retrieve dates from files in a git, this article also has that.

This article is basically a record of my live spelunking of RSS and dates. Next week I will pick some good bits out into new articles. This is my raw #commonLisp experience.

#programming #lisp #time #rss #dates #exploratory

Welcome advice and commentary. Will it work as RSS in the end?

2026-01-17

Who would have thought working with #time would be frustrating

(defun UT-to-RFC882 (UT &aux (TZ 0))
(multiple-value-bind
(second minute hour date month year day)
(decode-universal-time UT TZ)
(format nil "~@{~?~^ ~}"
"~[Mon~;Tue~;Wed~;Thu~;Fri~;Sat~;Sun~]," `(,day)
"~2,'0d" `(,date)
"~[Jan~;Feb~;Mar~;Apr~;May~;Jun~;Jul~;Aug~;Sep~;Oct~;Nov~;Dec~]" `(,month)
"~d" `(,year)
"~@{~2,'0d~^:~}" `(,hour ,minute ,second)
"~[Z~]" `(,TZ))))

#commonLisp #RSS

2026-01-16

I just completed all 12 days of Advent of Code 2025!
#AdventOfCode #commonlisp #common_lisp adventofcode.com/

github.com/argentcorvid/aoc-20

well, I guess i did it. I had no idea how to do part 2 of day 10, so I translated the dijkstra approach from the reddit thread from python.

2026-01-16

Planning on streaming and things in about 15 minutes or so. I'm gonna try recording a VOD for the first time and see how it goes...

twitch.tv/endparen

Today there are several things / bugs to investigate related to my backend but I might begin with more background since I'm recording.

2026-01-16

First #Lisp (#CommonLisp) editing session in #ed(1). It went well, with all the nice commands aed provides (codeberg.org/aartaka/aed) and all the syntax I added to line-readtable (codeberg.org/aartaka/line-read)! So yeah, one of my config files that's 200 lines long now uses a new syntax and much less parens 😉

2026-01-16

Using SBCL and McCLIM I wrote an Interlisp tool in modern Common Lisp with a CLIM GUI. That's what happens when one is having too much fun with Lisp.

journal.paoloamoroso.com/an-in

#CommonLisp #McCLIM #CLIM #interlisp

2026-01-16

@screwlisp
I have recently made a library for #commonlisp called CL-JSONPATH with which you can do similar things.

sr.ht/~hajovonta/cl-jsonpath/

(Now in Quicklisp)

The problem is, it is hard to generate these, e.g. integrate it with CL macros.

@treyhunner

2026-01-16

screwlisp.small-web.org/moment

I saw @treyhunner 's #python #tutorial on slicing and rewrote it in pure ansi #commonLisp .

But I bury the #lisp wizard lead: I also demonstrate a read #macro that adds python-style slicing to common lisp.

CL-USER> #2[(10 1) '#.(loop :for x :below 11 :collect x)]
#(10 8 6 4 2)

#programming #example #programmingLanguages

Client Info

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