Hacker News with Generative AI: Clojure

Clojuring the web application stack: Meditation One (evalapply.org)
In a land bereft of a canonical "killer app" web framework or two, one must think about the what, why, how, where of all the moving parts.
Clojure: SQLite C API with project Panama and Coffi (andersmurphy.com)
In this post I'll go over using coffi to build a Clojure SQLite wrapper.
Biff – a batteries-included web framework for Clojure (biffweb.com)
Biff is a batteries-included web framework for Clojure.
ClojureScript 1.12.42 (clojurescript.org)
We’re happy to announce a new release of ClojureScript. If you’re an existing user of ClojureScript please read over the following release notes carefully.
Refactoring Clojure (orsolabs.com)
This article is based on Writing Friendlier Clojure by Adam Bard, where he shows his approach at refactoring some Clojure code that implements an order-1 word-level Markov text generator.
LSP client in Clojure in 200 lines of code (vlaaad.github.io)
Awhile ago I was prototyping integrating LLMs with LSP to enable a language model to answer questions about code while having access to code navigation tools provided by language servers. I wasn’t that successful with this prototype, but I found it cool that I could write a minimal LSP client in around 200 lines of code.
Dataspex: Browse Clojure data (including databases) in Firefox/Chrome devtools (youtube.com)
Why I ever wrote Clojure (thesoftwarephilosopher.com)
I wrote Clojure professionally for 5 years. At first I loved it, and by the end I hated it, and for the same reason: I was bored.
Old Lisp (2018) (thisoldlisp.com)
Lisp was invented 60 years ago. Coral Common Lisp, the ancestor of today's Clozure Common Lisp, was released over 30 years ago. Over this time, processor architectures and operating systems have come and gone, but Clozure CL (under various names and forms) has survived and is still with us today. Clozure CL, Common Lisp, and Lisp itself are the product of many intelligent and clever people.
Clojure IDE in Emacs – Cider 1.18 ("Athens") Released (metaredux.com)
Great news, everyone - CIDER 1.18 (“Athens”) is out!
Elements of Clojure (elementsofclojure.com)
This book tries to put words to what most experienced programmers already know. This is necessary because, in the words of Michael Polanyi, "we can know more than we can tell."
Clolog (github.com/bobschrag)
Full-featured logic programming (AKA "Prolog") embedded in/callable from and supporting calls to Clojure. In the spirit of LogLisp, Lisp Machine Prolog, and Franz Inc.'s Allegro Prolog, with some extra goodies.
Keeping it Old-Tool: REPL habits of a grug-brained Clojure programmer (evalapply.org)
Keeping it Old-Tool: REPL habits of a grug-brained Clojure programmer
Clojure: Realtime collaborative web apps without ClojureScript (andersmurphy.com)
Last week I made a fun little multiplayer web app. I've embedded it below:
Can jank beat Clojure's error reporting? (jank-lang.org)
Hey folks! I've spent the past quarter working on jank's error messages. I've focused on reaching parity with Clojure's error reporting and improving upon it where possible.
RPub: A free open-source CMS written in Clojure (radsmith.com)
Today I'm releasing a new project called rPub. While this is a currently an alpha project, I'd be happy to get feedback if you want to try it out. For the upcoming releases I'll be focusing on stability and improving the core features so that it can eventually be used for production sites.
Why Clojure? (gaiwan.co)
Clojure is not one of the handful of "big" mainstream languages. This means that sometimes people are surprised that we are all in on Clojure. Why go against the grain? Why make it harder for yourself by building on niche technology?
Podcast: Clojure in Product. Would you do it again? (youtube.com)
From C++ to Clojure: Jank language promises best of both (thenewstack.io)
Clojure core.async.flow (github.com/clojure)
The fundamental objective of core.async.flow is to enable a strict separation of your application logic from its topology, execution, communication, lifecycle, monitoring and error handling, all of which are provided by and centralized in, c.a.flow, yielding more consistent, robust, testable, observable and operable systems.
Why I Chose Common Lisp (djhaskin.com)
After ~7 years, I was done with Clojure. I was writing a some CLI apps, and I hated how long they took to start up. The community at large seemed not to care about this problem, except for the babashka folks. However, I spent long, hard hours banging my head against native-image and it just wasn't working out. It was incredibly painful, and at the end of it, I still didn't have standalone, fast-starting native executables.
Why we built Vade Studio in Clojure (vadelabs.com)
A server crash during a Valentine's date became the turning point. The pursuit of technical complexity was costing more than just code - it was costing life itself. This is a story of how three developers built an ambitious no-code platform using Clojure.
Array Languages for Clojurians (2020) (appliedscience.studio)
A discussion in the Clojure data science Zulip led me to Slobodan Blazeski’s enlightening article Array languages for Lisp programmers in the journal of the British APL Association. He quotes Alan Perlis:
Idiomatic Errors in Clojure (daveliepmann.com)
The idiomatic Clojure approach to error-handling is that there isn’t one. There’s a whole bunch.
Learning YAMLScript from Clojure (yamlscript.org)
YAMLScript works by translating code written in YAMLScript to Clojure code, which is then evaluated.
Glojure: Clojure interpreter hosted on Go, with extensible interop support (github.com/glojurelang)
Glojure is an interpreter for Clojure, hosted on Go. Glojure provides easy access to Go libraries, similar to how Clojure provides easy access to Java frameworks.
Building a Sync Engine in Clojure [video] (youtube.com)
Show HN: Indentation-based syntax for Clojure (github.com/ilevd)
Indentation-based syntax for Clojure.
Clojure Don'ts: Concat (stuartsierra.com)
concat is a tricky little function. The name suggests a way to combine two collections. And it is, if you have only two collections. But it’s not as general as you might think. It’s not really a collection function at all. It’s a lazy sequence function. The difference can be important.
Clojure from a Schemer's Perspective (2021) (more-magic.net)
Recently I joined bevuta IT, where I am now working on a big project written in Clojure. I'm very fortunate to be working in a Lisp for my day job!