frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Clojure Async Flow Guide

https://clojure.github.io/core.async/flow-guide.html
84•simonpure•4h ago

Comments

725686•3h ago
Is Clojure still a thing? I sure would hope so, but I haven't seen much of Clojure activity in HN recently.
shaunxcode•3h ago
:yes #{of course it is}
aeonik•3h ago
The language itself is still getting updates, a new major release was just dropped a month or two ago.

I do find that for about 5 years things seemed to be slowing down. Though I keep seeing it pop up, and new exciting projects seem to pop up from time to time.

Just today I saw an article about Dyna3, a relational programming language for AI and ML that was implemented on top of Clojure.

I miss the Strange Loop conference. I think a lot of Clojure buzz was generated there. Clojure West and a few others so a decent job, but the quality of the talks at Strange Loop were second to none. Not that it was a Clojure specific conference, but it had that focus on elegance that I don't see very often, and the organizer was a something like the Prince of Clojure, if I recall correctly.

I'm still enjoying the language, and all my projects still build and run just fine.

The major frustration I have with the platform is 3D graphics. That's a JVM issue overall though.

dapperdrake•2h ago
They even invited Guy Lewis Steele, Jr. hos talk is on YouTube and was awesome. His meta-notation is explained more expansively in a paper on his Oracle page.
725686•2h ago
I absolutely loved Hickey's talks even when I never used Clojure more than for a few simple examples.
raspasov•1h ago
I just saw a small 3D demo running at 120fps+ that some of the newer JVM vector APIs supposedly enable.

Link to demo @ timestamp: https://youtu.be/UVsevEdYSwI?t=653

My experience with 3D graphics is minimal, but I'm curious to know if these newer developments are significant in any way for 3D work.

chamomeal•3h ago
I’d say clojure is very alive and happy. I’m a clojure newb and have been having a super fun time getting into it. Lots of very neat tools are in active development (babashka is the best thing that’s happened to my developer life in a while!!)

The small-medium sized community is actually fantastic for learning. The big names in the community are only a slack away, and everybody is so enthusiastic.

casion•3h ago
There's more clojure users than ever before and the team is active and afaik larger than ever before.

Things just mature and hype isn't as cool when you heard it 5 years ago.

xanth•3h ago
I was asking the same question today after investigating XTDB¹ (a Clojure centric bitemporal DB) and went looking for a batteries included WebAssembly framework like Blazor²

1. https://xtdb.com/

2. https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blaz...

didibus•1h ago
I'm not sure, but maybe you can use Blazor with ClojureCLR. It's a feature complete Clojure for .net
tombert•2h ago
I still use it. They finally fixed my biggest complaint about it a year ago, which is that you couldn't use vanilla Clojure lambdas for the Java functional interface, and so you'd have to reify that interface and it was bulky and ugly. Now it works fine so long as the interfaces actually have the @FunctionalInterface attribute.

Not every project uses @FunctionalInterface, but I've been trying to add it to places [1] [2] [3], and now I'm able to use Clojure in a lot more places.

[1] https://github.com/LMAX-Exchange/disruptor/pull/492

[2] https://github.com/apache/kafka/pull/19234

[3] https://github.com/apache/kafka/pull/19366

ethersteeds•2h ago
As others have said, Clojure is still a thing. For anyone catching up with Clojure again after some time: check out Babashka! Think bash scripts, written in Clojure. It's delightful.

https://babashka.org/

chr15m•2h ago
Is Make still a thing? I sure would hope so, but I haven't seen much of Make activity in HN recently.
raspasov•1h ago
Very much still a thing. Even on HN: https://hn.algolia.com/?dateRange=all&page=1&prefix=false&qu...
KingMob•1h ago
It is, but the community has been shrinking in recent years.

FWIW, Google Trends shows the hype peaking in 2016, but I doubt that reflects usage as much as buzz.

Instead, if you look at the annual State of Clojure survey results, which solicits opinions directly from the community, the number of responders peaked in 2020 at ~2500, and is down to ~1500 for the most recent 2024 survey.

- 2020 State of Clojure - https://www.surveymonkey.com/results/SM-CDBF7CYT7/

- 2024 State of Clojure - https://www.surveymonkey.com/results/SM-hht04mGydwZ6Nqr7N8vj...

robto•3h ago
I've been meaning to try this out, from my read it's a declarative way to get some structured concurrency. I work in a codebase that heavily uses core.async channels to manage concurrency and you really need to pay close attention to error handling. When you're spawning new threads you need to set up your own custom machinery to re-throw errors on a chans, close chans, and it looks like core.async.flow is a way to do all of this declaratively.

Just like `core.async` itself was a frontrunner of Virtual Threads on the JVM, I view `core.async.flow` as the Clojure version of the upcoming [0]Structured Concurrency JEP. I do wonder if it will use that under the hood once it becomes stable, the same way `core.async` is planning to move away from the `go` macro to just have it dispatch a virtual thread.

[0]https://openjdk.org/jeps/453

user3939382•3h ago
I think LISP is cool and want to use it more but I have 0 appetite to learn the toolchain and debug etc for JVM. You have Racket but Clojure ecosystem is already tiny.
tombert•3h ago
Leiningen and deps.edn shield you a bit from the awfulness of Java project management. They feel a lot more like something you'd see in Node.js or something, but it still gets dependencies from Maven Central.

Debugging and profiling is still somewhat Java based, and yeah that's can be irritating, but you get used to it.

Personally I do think that it's worth it; Clojure is a very pleasant language that has no business being as fast as it is, and core.async is an absolutely lovely concurrency framework if you can convert your logic into messaging, and you have Haskell-style transactional memory for stuff that can't be. So many problems become less irritating in Clojure.

dapperdrake•2h ago
Is clj-boot still a thing or was it ever a thing?

It or or was a build tool like Leiningen.

tombert•2h ago
I've never used clj-boot. I've historically mostly used Leiningen but for the last year or so I finally migrated over to deps.edn.
Volundr•1h ago
Boot seems to have pretty much stalled out. I think the builtin Clojure CLI/deps.edn killed off what momentum it did have.
raspasov•2h ago
That’s a common misconception. JVM toolchain is way better than the hellscape that are most other language ecosystems. Maven, for example, works reliably and is rock-solid. The only unsolved problem is if you get two libraries/frameworks requesting another dependency, but with different incompatible versions. But I don’t think most other ecosystems solve that painlessly either.

Debug specifically is state-of-the-art. Look at YourKit, or any debugger included with common IDEs.

None of those tools has a shiny Visual 2025 aesthetic, but again, they work reliably and are going to work the same way a year from now.

dapperdrake•2h ago
Clojure taught me lisp where CL failed. Turns out that Scheme and Clojure as a lisp-1 are great for learning.

Switched to SBCL for the faster star-up times. Now lisp-2 also feels more comfortable.

Abdii430•3h ago
https://www.facebook.com/profile.php?id=61579582377159
kasajian•1h ago
Funny. I was just thinking about dismissing Clojure for a project I'm going to work on because I was concerned about it's lack of ability to work with async calls. I'm too used to how async in JavaScript and C#, and I'm not sure I'd want to work in an environment that doesn't have a simple way to structure async calls. It doesn't necessarily have to be async / await. Just some attention to the issue rather than completely ignoring it.
didibus•1h ago
Async/await for Clojure: https://github.com/xadecimal/async-style
raspasov•1h ago
That has always been one of Clojure's main strengths (async & concurrency). With the new JVM VirtualThreads, things are looking better than ever.

The transition of core.async specifically to VirtualThreads is still WIP as far as I understand, but with minimal tweaks, 90% of the benefits are already there, even with the current latest version.

beders•1h ago
You can get basically all variations of async coding with Clojure a la carte.
yayitswei•1h ago
See also for related ideas: missionary/electric for frontend and rama for backend. I wish for a unified interface combining the best of all three!
nromiun•1h ago
This is cool. So basically you create a group of threads and you can treat them as one unit. Trio does something similar (structured concurrency) with async functions for Python. Are these OS threads or green threads?
didibus•1h ago
They can be OS threads or green threads, you can choose.
nromiun•1h ago
Are OS threads still the default and you have to pass a virtual thread executor to use virtual threads?
judge123•1h ago
For me, the real 'click' moment with core.async wasn't just about replacing callbacks. It was realizing I could model entire business processes as a system of communicating channels. It completely changed how I think about system design.

Clojure Async Flow Guide

https://clojure.github.io/core.async/flow-guide.html
84•simonpure•4h ago•33 comments

Google admits anti-competitive conduct involving Google Search in Australia

https://www.accc.gov.au/media-release/google-admits-anti-competitive-conduct-involving-google-search-in-australia
100•Improvement•2h ago•55 comments

A gigantic jet caught on camera: A spritacular moment for NASA astronaut

https://science.nasa.gov/science-research/heliophysics/a-gigantic-jet-caught-on-camera-a-spritacular-moment-for-nasa-astronaut-nicole-ayers/
27•acossta•3d ago•4 comments

Claudia – Desktop companion for Claude code

https://claudiacode.com/
361•zerealshadowban•11h ago•180 comments

NUMA Is the New Network: Reshaping Per-Socket Microservice Placement

https://codemia.io/blog/path/NUMA-Is-the-New-Network-How-Per-Socket-Memory-Models-Are-Reshaping-Microservice-Placement
30•signa11•3h ago•13 comments

The Enterprise Experience

https://churchofturing.github.io/the-enterprise-experience.html
298•Improvement•12h ago•79 comments

Llama-Scan: Convert PDFs to Text W Local LLMs

https://github.com/ngafar/llama-scan
94•nawazgafar•7h ago•51 comments

Modifying other people's software

https://natkr.com/2025-08-14-modifying-other-peoples-software/
36•todsacerdoti•4d ago•18 comments

Show HN: Doxx – Terminal .docx viewer inspired by Glow

https://github.com/bgreenwell/doxx
125•w108bmg•9h ago•30 comments

Mangle – a language for deductive database programming

https://github.com/google/mangle
25•simonpure•4h ago•2 comments

Show HN: OverType – A Markdown WYSIWYG editor that's just a textarea

247•panphora•13h ago•68 comments

Derivatives, Gradients, Jacobians and Hessians

https://blog.demofox.org/2025/08/16/derivatives-gradients-jacobians-and-hessians-oh-my/
220•ibobev•15h ago•51 comments

Show HN: NextDNS Adds "Bypass Age Verification"

323•nextdns•14h ago•94 comments

Fun with Finite State Transducers

https://blog.yossarian.net/2025/08/14/Fun-with-finite-state-transducers
22•woodruffw•3d ago•1 comments

Node.js is able to execute TypeScript files without additional configuration

https://nodejs.org/en/blog/release/v22.18.0
381•steren•23h ago•221 comments

ArchiveTeam has finished archiving all goo.gl short links

https://tracker.archiveteam.org/goo-gl/
326•pentagrama•11h ago•74 comments

I Prefer RST to Markdown (2024)

https://buttondown.com/hillelwayne/archive/why-i-prefer-rst-to-markdown/
60•shlomo_z•9h ago•39 comments

AI vs. Professional Authors Results

http://mark---lawrence.blogspot.com/2025/08/the-ai-vs-authors-results-part-2.html
83•biffles•7h ago•54 comments

BBC Micro, ancestor to ARM

https://retrogamecoders.com/bbc-micro-the-ancestor-to-a-device-you-are-guaranteed-to-own/
107•ingve•16h ago•91 comments

MS-DOS development resources

https://github.com/SuperIlu/DOSDevelResources/blob/main/README.md
74•mariuz•13h ago•14 comments

Show HN: ASCII Tree Editor

https://asciitree.reorx.com/
5•novoreorx•2h ago•0 comments

A Visual Exploration of Gaussian Processes (2019)

https://distill.pub/2019/visual-exploration-gaussian-processes/
46•vinhnx•2d ago•0 comments

Why Nim?

https://undefined.pyfy.ch/why-nim
130•TheWiggles•15h ago•139 comments

Here be dragons: Preventing static damage, latchup, and metastability in the 386

http://www.righto.com/2025/08/static-latchup-metastability-386.html
70•todsacerdoti•13h ago•40 comments

Show HN: Fallinorg - Offline Mac app that organizes files by meaning

https://fallinorg.com/#
70•bobnarizes•13h ago•39 comments

LL3M: Large Language 3D Modelers

https://threedle.github.io/ll3m/
393•simonpure•18h ago•170 comments

Faster Index I/O with NVMe SSDs

https://www.marginalia.nu/log/a_123_index_io/
145•ingve•16h ago•22 comments

Primitive Streaming Gods

https://tedium.co/2018/01/30/legal-music-streaming-history/
14•_vaporwave_•2d ago•1 comments

Teaching GPT-5 to Use a Computer

https://prava.co/archon/
56•Areibman•2d ago•14 comments

IMDB Terminal Browser

https://github.com/isene/IMDB
9•thunderbong•1h ago•6 comments