#commonlisp

2025-06-19

#kitten #smallweb #webdev #lisp #commonlisp #ecl
screwlisp.small-web.org/kitten

Kinda rushed, but I show the kitten server operator and kitten visitors interacting in real time (the kitten visitor by hitting a kitten page, the kitten server operator by reading and setting kittendb values in the kitten shell).

What do you think @mdhughes @aral

Obviously the kitten host will be robotic, but I thought this is a useful half-interaction to see.

2025-06-18

Oh my god! It is alive!!!

Remember, I wrote about a new MCP framework for Common Lisp I'm working on?

It works and I was able to search and install a quicklisp library by giving an agent only one tool – EVAL!

#commonlisp #ai #mcp #tool

2025-06-18

#lispyGopherClimate #interview #transcript #webDev #technology #computerHistory #lisp #commonlisp #harlequin #CLIM

screwlisp.small-web.org/show/k

Summary and transcript of the first eight minutes of the hour-long downloadable episode, including Kent's summary of his personal web work in lisp (mostly at Harlequin) through the 80s and 90s.

@vindarel @khinsen (being the missing guests)
@kentpitman @dougmerritt @mdhughes

I'm hand-transcribing and summarizing, so this is something like part 1/6.

2025-06-18

Hah. In the tradition of hackerly error messages, apparently: “Nihil ex nihil. (can't set SYMBOL-VALUE of NIL)” and “Veritas aeterna. (can't set SYMBOL-VALUE of T)” #CommonLisp #SteelBankCommonLisp

2025-06-18

The Svensson attractor often does these circular or torus-appearing shapes. #fractal #CommonLisp #AlgorithmicArt

A fractal consisting of an inner and outer circle, between which rather swirly/gauze curved lines flow.
2025-06-17

When someone says: "There's this great dynamically-typed programming language with a useful and expressive type system, powerful macros and multiple-dispatch that solves the 'two language problem' (meaning that you can quickly and comfortably write a prototype in the language but then also write the fast production version in the same language), that has roots in academia but with uptake in industry, a great interactive coding experience in the REPL (including the ability to show you the assembly code for any function!) and [an] excellent compiler[s]" you don't know if they're talking about #CommonLisp or #JuliaLang until they choose either the plural or singular for the word "compiler"! 😛

2025-06-17

@mdhughes The way testing conventionally works is that #commonLisp system definition facility #ASDF has another pre-made operate-on-system, test-op (to go with load-op and build-op), and you use that with fiveam or something. github.com/fare/asdf/blob/mast

Vassil Nikolovvnikolov@ieji.de
2025-06-17

> inspecting (nested) hash tables in Common Lisp/SBCL? Is there a good lib for pretty-printing such things?

My needs in this respect have been modest, so I just convert them to a-lists (easy with `loop' `collect'), and pretty-print those.

#CommonLisp

@i_dabble

2025-06-17

What do you do for inspecting (nested) hash tables in Common Lisp/SBCL? Is there a good lib for pretty-printing such things?
#CommonLisp #sbcl

2025-06-17

How I normally do #async external programs in my #commonLisp image #embeddableCommonLisp and #uiop (in the notes).

screwlisp.small-web.org/progra

Originally I was writing Kittenette (Closette but for kittens) today, but I ended up wanting to individually treat external processes, especially from #ecl on its own first.

My example is particularly using #cat(1) as an external-process in-memory echo server.

Hope it helps someone. #programming #example

Yes "multi-processing" in the url is ~erroneous.

2025-06-17

Im live streaming a little common lisp programming right now. 🆑

twitch.tv/charjey

2025-06-16

What the hell is going on here!?

Something interesting. Especially if you know what Model Context Protocol (MCP) and Common Lisp are.

I've already got some things working.

Follow the repository updates at github.com/40ants/mcp! Soon the Common Lisp community will have its own MCP framework, and neural networks will be able to modify CL software on the fly!

Thanks for the likes and reposts!

#commonlisp #llm #mcp

2025-06-16

#commonLisp #programming #amop #mop #metaobjectProtocol #exercise #closette #learnToCode (my own experience) #oop
screwlisp.small-web.org/amop/e

Today I simply share and solve (hopefully!) The Art of the Metaobject Protocol exercise 1.1

(the softball generic classes #memoization exercise from chapter 1)

I just added a lexical closure of hash tables.

@simoninireland wrote about the art of the metaobject protocol in his #lisp bibliography a year ago. simondobson.org/2024/07/23/the

2025-06-15

The design allows to plug #commonlisp via the glue package and update the widgets asynchronously.

Vassil Nikolovvnikolov@ieji.de
2025-06-15

[Translating #CommonLisp logical pathnames with extra wildcards in the "to" pathname.]

Indeed I misremembered and it is implementation-specific: the behavior of `translate-pathname' is specified with "usually":

"If there is no wildcard field in from-wildcard at that position, then usually it is the entire corresponding pathname component of source, or in the case of a list-valued directory component, the entire corresponding list element."

@aartaka @galdor

Vassil Nikolovvnikolov@ieji.de
2025-06-15

> logical pathnames would work better as functions processing the pathname into another pathname

A procedural approach has its own significant weaknesses, too.
A long discussion, maybe for another day.

> patterns like ("git:*" "/home/aartaka/git/*/*.asd")—totally invalid, but not documented anywhere.

From memory (not enough, I know), the specification implicitly prohibits that.

Yes, a more powerful facility would be useful, but it would be a separate endeavor.

#CommonLisp

@aartaka @galdor

2025-06-15

New blog post: "Introducing the Extended QOA Format for Audio"

https://remilia.sdf.org/blog/2025-06-14-a.html #LinuxAudio #qoa #CommonLisp #audio #lisp #blog

Vassil Nikolovvnikolov@ieji.de
2025-06-15

> Writing on #CommonLisp logical pathnames.

Yes, they are a Good Thing.

> Terribly undocumented and (it seems) wildly under-designed feature.

I have never found them undocumented (let alone "terribly").
I don't know what "under-designed" means here.
Their set of features is intentionally kept small so that
(1) they can be mapped even to very simple physical pathname substrates
(2) and they are easy to implement (not a burden to implementors).

@aartaka

Vassil Nikolovvnikolov@ieji.de
2025-06-15

> I shortened Jim des Rivieres to Rivieres. Is this correct, or am I meant to write des Rivieres?

I would keep "des" and more importantly I would check what the already established practice for citing this name is in the literature.
That would also include keeping the accent (des Rivières).

#AMOP
#CommonLisp
#MetaobjectProtocol

@screwlisp

Client Info

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