clojure-europe

thomas 2026-04-17T06:49:41.452649Z

TGIF

teodorlu 2026-04-17T06:56:32.791149Z

morning! TGIF indeed.

teodorlu 2026-04-17T06:56:33.951639Z

Watched the Clojure documentary yesterday, really liked it. Great to get a bit more insight into the early days of Clojure. What a risk Rich took! In particular, it's interesting to hear Alessandra Sierra say he "blew the Lisp NYC out of the water with his preparedness" [I'm paraphrasing]. He committed to his "I made this little thing Lisp NYC talk six weeks before it took place, which prompted him both to a furious talk-driven-development period, plus an effort to structure enough of his ideas to fill the hour or two it took. Definitely not the "I thought of something so I'm pushing it out over the weekend" we see today (though I still support sharing your scrappy fiddles). Perhaps the lesson here is to denote your scrappy fiddles clearly as scrappy fiddles.

borkdude 2026-04-17T07:05:56.363169Z

What also stood out to me is that Rich had done a lot of related projects before Clojure to make Common Lisp reachable from other more commercially viable languages. Probably not scrappy fiddles but good to realize that Clojure didnโ€™t just drop out of nowhere

๐Ÿ‘ 3
๐Ÿ‘๐Ÿผ 1
simongray 2026-04-17T07:07:39.528199Z

The documentary was surprsingly good. I thought there wouldn't be much there for someone who already read his Clojure paper and saw all the talks, but it was really interesting to get a bit of the human side too.

๐Ÿ‘ 3
teodorlu 2026-04-17T07:12:09.644389Z

> Rich had done a lot of related projects before Clojure to make Common Lisp reachable from other more commercially viable languages Yup, he definitely tried other options before inventing a brand new programming language. To hear straight up that Clojure wouldn't have happened if Common Lisp was easier to deploy was very interesting. I got to talk to the author of https://www.korulang.org a few weeks ago, another new programming language. My primary concern / question / criticism was why he chose to make a brand new programming language, when my take was that it could have been hosted into an existing rich ecosystem (such as JVM or .NET), and I didn't feel like I got a clear language, instead mostly arguments about how it's easy โ€” when I was interested in Koru as a tool for making high performance subsystems. Sad to see that starting from zero and throwing all the old stuff away is often considered cheap.

borkdude 2026-04-17T07:20:11.916819Z

I donโ€™t believe that you used AI to write this up but use of an emdash in Slack I find highly suspicious ๐Ÿ˜…

teodorlu 2026-04-17T07:26:02.935729Z

haha, it's a habit. Option+shift minus on macs. I promise that this isn't AI bullshit ๐Ÿ˜… I find people using AI to type shit up for them highly suspicious. If I write verbosely, or am mistaken, it's entirely my own, human fault.

๐Ÿ˜‚ 1
borkdude 2026-04-17T07:27:21.040119Z

I didnโ€™t think you were, but I donโ€™t see a lot of emdash in human casual prose nowadays :)

teodorlu 2026-04-17T07:28:36.050759Z

Perhaps that's enough of a reason to stop using it ๐Ÿ˜† It is a bit of a crutch to avoid writing proper sentences. Instead, just append thoughts.

borkdude 2026-04-17T07:30:38.451429Z

In Dutch I believe we use a semi-colon for it too

๐Ÿ‘ 1
eaj 2026-04-17T07:57:57.180729Z

The em dash is a beautiful typographic unit which conveys pause in a way that the semicolon, to me, doesn'tโ€”and I really don't want to stop using it ๐Ÿ˜•

๐Ÿ‘ 1
โž• 2
โ˜บ๏ธ 1
Asier 2026-04-17T08:08:31.927009Z

Rich's story and character are unique and authentic. Reconciles me with this profession that I sometimes dislike (too much BS).

๐Ÿ˜Š 2
borkdude 2026-04-17T08:08:33.135469Z

โ€”fair enoughโ€”

๐Ÿ˜† 2
reefersleep 2026-04-17T08:48:34.612489Z

Looking forward to watch it ๐Ÿ™‚

leifericf 2026-04-17T08:51:06.151189Z

@teodorlu I am guilty of sinning using AI to implement a โ€œnewโ€ programming language (it's basically just another Clojure) because I'm tired of all the issues we faced when game designers and players use Lua in our game engine ๐Ÿ˜… I've been thinking about it and wanting to do a proof of concept for some time, but it's been virtually impossible as a father with a busy job before AI came along. Iโ€™m feeling an interesting mixture of achievement and shame ๐Ÿ˜‚ When I see how hard Rich had to work and how much he had to sacrifice to create Clojure from first principles, Iโ€™m in awe of his passion, dedication and commitment.

teodorlu 2026-04-17T08:53:00.919849Z

Rich is highly committed to brevity, taste, and the avoidence of adding unnecessary fluff! I, also, suffer from putting worse things into the world than Rich. And I believe Lu Wilson was right to encourage us to https://www.youtube.com/watch?v=MJzV0CX0q8o.

leifericf 2026-04-17T08:54:22.442929Z

But from a different angle, Iโ€™m also happy to bring โ€œthe Clojure philosophyโ€ into the embedded world and show it off to C/C++ and Lua programmers who would otherwise never have looked at it.

๐Ÿ‘ 2
teodorlu 2026-04-17T08:56:14.388399Z

would https://jank-lang.org/ serve the same purpose as your new dialect? It's already received a few rounds of Clojurists Together funding.

leifericf 2026-04-17T08:57:13.515059Z

No, it comes at the problem from the other angle. I've written about it on the About page: http://mino-lang.org/about/

leifericf 2026-04-17T08:57:35.308869Z

Janet is the closest comparison to mino

leifericf 2026-04-17T08:57:54.621549Z

And Lua + Fennel after Janet.

leifericf 2026-04-17T08:59:23.220609Z

But I've been following Jank closely, and Iโ€™m also interested in that. They could even be complementary as mino could be embedded in Jank (although that might be a bit silly).

reefersleep 2026-04-17T09:10:28.356369Z

Good on you for writing a thorough justification and comparison ๐Ÿ’ช

leifericf 2026-04-17T09:14:40.746929Z

Thanks! I carefully and thoughtfully wrote down my vision, goals, non-goals, trade-offs, and compromises before starting. That's where I spent most of my time (without AI).

leifericf 2026-04-17T09:15:53.016649Z

And also writing down architectural stuff and how I want the C code designed with zero dependencies.

leifericf 2026-04-17T09:17:31.007139Z

I'm still thinking about whether it makes sense to introduce namespaces in the embedded context, and maybe some basic concurrent stuff. But I borrowed some concepts from Erlang/BEAM to implement cross-runtime concurrency.

leifericf 2026-04-17T09:20:01.504819Z

Having spent considerable time with C/C++, Lua, and Erlang/Elixir (+ https://clojureverse.org/t/introduce-yourself/1327/305?u=leif) before discovering Clojure, I feel I have a very clear vision of what I want. But I don't have the depth of experience with pure ANSI C and the time to implement it solo, nor the economic freedom to take a sabbatical. So AI was the only way for me to test the ideas for real.

leifericf 2026-04-17T09:35:49.480219Z

But in a real sense mino is a very large โ€œscrappy fiddleโ€/proof of concept (for now) ๐Ÿ˜… Even if the ideas and concepts might be strong, the implementation suffers from โ€œAI side-effects.โ€

ray 2026-04-17T13:24:42.306169Z

I think Rich proved that taking shortcuts isn't worth it. AI won't help you other than to rush out some ideas. Why the rush?

ray 2026-04-17T13:26:27.550629Z

I reject the concept of ai generated scrappy fiddles

leifericf 2026-04-17T13:31:49.518389Z

It's not as much about speed as it is about being able to try out an idea at all, given the knowledge, skills, and time available. โ€œAIโ€ makes it possible to try bigger things that would be virtually impossible otherwise. Of course, that's not the case for everyone. Some people choose not to have a family and dedicate their lives to science, or perhaps they have inherited or earned a fortune that allows them the freedom to pursue creative ambitions without worrying about how they will pay the bills.

leifericf 2026-04-17T13:41:42.286899Z

Also, if a person has a potentially good idea, why wouldn't we want them to be able to implement and test their hypothesis faster, learn and iterate more rapidly? If Rich had found a way to realize his vision more efficiently, Iโ€™m pretty sure he would have used it, as exemplified by the rigorous research he did into writings and other languages. It would be interesting to hear from Rich himself whether and how he would have used โ€œAIโ€ had it existed in its current form when he was working on Clojure.

leifericf 2026-04-17T13:46:56.846219Z

I'm reminded of this quote from Simple Made Easy: > We don't ship source code, and the user doesn't look at our source code and say, "Ah, that's so pleasant." Right? No? [โ€ฆ] the user is not looking at our software, and they don't actually care very much about how good a time we had when we were writing it. Right? What they care about is what the program does, and if it works well, it will be related to whether or not the output of those constructs were simple. In other words, what complexity did they yield?

seancorfield 2026-04-17T13:48:59.392739Z

I think he still wouldn't have used AI. He made a specific comment in the documentary about how much time was reading and thinking and how little time was spent typing. Given how straightforward and direct/simple much of Clojure's implementation is -- perhaps beyond the persistent data structures themselves -- I don't think AI code generation would have sped up the project any, and I think Rich is so very focused on his craft that he would have (and still does) reject the utility of AI.

seancorfield 2026-04-17T13:50:16.900559Z

The Java code behind Clojure is, for the most part, not idiomatic Java. A lot of people in the community say they learned a lot from reading the source code. I think that simplicity and clarity is part of what Rich wanted for the implementation.

leifericf 2026-04-17T13:50:27.551219Z

Maybe he would have used it only to find relevant papers to read or summarize things. I don't know. Only he knows.

seancorfield 2026-04-17T13:50:35.263719Z

Of course, you could always ask him during today's live Q&A!

๐Ÿ‘ 1
seancorfield 2026-04-17T13:51:22.233199Z

Also worth pointing out that the core team recently clarified that no AI-generated code would be accepted into Clojure and Alex further clarified on ClojureVerse that includes AI-generated "auto-complete" as well.

1
seancorfield 2026-04-17T13:52:36.789669Z

(I thought that followed "obviously" from the wording in the CLA around copyright assignment -- since the US Copyright Office says you cannot copyright AI output of any kind, and the courts have agreed so far)

reefersleep 2026-04-17T13:54:22.679549Z

Also worth reading: https://gist.github.com/richhickey/ea94e3741ff0a4e3af55b9fe6287887f Rich Hickey: Thanks AI

๐Ÿ‘ 1
๐Ÿ‘€ 1
leifericf 2026-04-17T13:59:50.811099Z

Iโ€™m fairly sure you're right, @seancorfield. It's highly unlikely Rich would have even considered using AI had it existed then.

leifericf 2026-04-17T14:00:34.767429Z

He did have the time and the finances in order. And the knowledge and skills to do it. And likely took great pleasure in the creative process as well.

seancorfield 2026-04-17T14:00:35.214099Z

Despite my comments above, I do find value in AI-assisted development, and AI-assisted research, but I understand that not everyone wants to use AI and not everyone gets value from it. I've been integrating a new 3rd party API at work that uses XML, and I had AI generate a first pass of a wrapper for it so I could pass and return Clojure hash maps. It produced about 1,000 lines of fairly dumb Clojure -- including tests! -- and it saved me a bunch of time writing out fairly tedious boilerplate code. And it only had a couple of bugs in it. It left me to focus on the more interesting aspects of integrating the API into our business logic.

leifericf 2026-04-17T14:01:22.204519Z

Basically, people like Rich are exceedingly rare.

ray 2026-04-17T14:02:05.673719Z

and it's not about being rich, in the monetary sense. One has to choose. It's like saying artists could go faster if they used AI. They can't.

๐Ÿ’ฏ 3
leifericf 2026-04-17T14:02:35.605039Z

Right, one can choose not to have kids and dedicate one's life entirely to coding.

ray 2026-04-17T14:02:57.373899Z

that's not what I'm saying.

leifericf 2026-04-17T14:02:59.201639Z

Or art or whatever else.

ray 2026-04-17T14:03:19.649459Z

AI will not improve your thinking.

leifericf 2026-04-17T14:05:11.984169Z

Exactly.

ray 2026-04-17T14:06:00.821699Z

some people can get productive value out of the tool but I think that is proving very difficult to generalise or consider sustainable. And just to relate it to Clojure, think of the side-effects ๐Ÿคท๐Ÿผโ€โ™‚๏ธ

leifericf 2026-04-17T14:06:49.960629Z

Take one of my experiments/projects as a concrete example: https://eido.leifericf.com I've been working with computer graphics for nearly 20 years now. I had a very clear idea of what I wanted to try, and I've been thinking about it for years. I didn't have the skills or time to implement it in a reasonable amount of time. But I did have the time to think, write down everything I wanted and how I wanted it, and spoon-feed it to "AI" agents, review the results, correct them, etc.

leifericf 2026-04-17T14:07:50.983069Z

But it's honestly still quite wonky. Even though it does work.

leifericf 2026-04-17T14:08:27.923509Z

The thinking, ideas, concepts, and visions were my own, inspired by other great creators. But the implementation is done (mostly) by AI agents.

leifericf 2026-04-17T14:14:41.632879Z

In other words, more time goes into thinking about the problem, concepts, and constraints, and less time goes into typing the code. This seems to be what Rich is talking about, in some cases.

leifericf 2026-04-17T14:19:12.256719Z

The main problem is that โ€œAIโ€ still produces crap code a lot of the time. So the implementations tend to suck. So we still have to โ€œtype in the codeโ€ if we want to realize the ideas and concepts effectively, take concepts out of our heads and into the real world.

leifericf 2026-04-17T14:55:37.781099Z

Maybe in the future we can spend 99% of the time in the hammock instead of only 70% ๐Ÿ˜…

ray 2026-04-17T14:57:26.777879Z

You can dream in hammocks too ๐Ÿ˜ด

2
simongray 2026-04-17T07:05:58.580129Z

good morning

2026-04-17T07:17:19.749389Z

morning

reefersleep 2026-04-17T08:44:45.140319Z

Good morning!

reefersleep 2026-04-17T08:59:42.466399Z

What's this thing where using Ctrl-Z/Cmd-Z does not undo the latest thing I did in my text field (usually a paste), but a previous thing. It's driving me up the wall

reefersleep 2026-04-17T09:00:04.347029Z

I think I experience it both in browser-based and "native" text fields

reefersleep 2026-04-17T09:00:09.222329Z

in MacOS

reefersleep 2026-04-17T09:02:11.586309Z

Also, I miss using Slack for work. The "paint" style of formatting, known from Word, is the only option in both Jira and Teams ๐Ÿ˜ž Give me back my markdown based formatting, or any kind of text based formatting, really!

grav 2026-04-18T08:21:32.240339Z

There's an AI project for you ๐Ÿ™‚ MS doesn't allow third party Teams clients, but there's the official web-based client. I'm sure it's hackable!

reefersleep 2026-04-18T10:05:25.142089Z

I use the web based client. Hmmm how to go about it. I suppose I could make my own separate input field and submit the contents to the real field... Kind of a wysiwyg experience.

ray 2026-04-17T14:20:04.040699Z

Good ๐Ÿ” morning

๐Ÿ‘€ 1
lread 2026-04-17T14:31:01.819199Z

Good โ˜€๏ธ morning

๐Ÿ•ถ๏ธ 1