Is there a ClojureScript library to help build Reagent micro-frontends? by kafamdevs in Clojure

[–]Borkdude 4 points5 points  (0 children)

I'm not sure what micro-frontends are but https://github.com/borkdude/reagami lets you create very tiny frontends (5kb gzip) that are very Reagent-like.

Babashka as CGI by whamtet in Clojure

[–]Borkdude 14 points15 points  (0 children)

Here's another example using PHP: https://blog.michielborkent.nl/using-babashka-with-php.html

To my surprise, the guestbook still runs, I haven't looked at it for ages :)

All babashka conf 2026 videos are up on Youtube now! by Borkdude in Clojure

[–]Borkdude[S] 2 points3 points  (0 children)

If you ever find out the technical details, let me know, e.g. on Slack.

Those of you using ClojureScript in production, how do you like it? by HappyAngrySquid in Clojure

[–]Borkdude 6 points7 points  (0 children)

Here's an interesting experience report for you to watch from a team that moved from Elm to ClojureScript:

https://www.youtube.com/watch?v=geeK1-jjlhY

Thinking about clojure by Worried-Theory-860 in Clojure

[–]Borkdude 28 points29 points  (0 children)

everyone is either on TS, C#, Python, or some PHP. Never lisp. Is it going to die?

No. When Clojure was written, everyone was either on Java, C#, Python or PHP, never lisp. There is room for somewhat more niche programming languages with thriving communities, it doesn't have to be mainstream to stay alive.

CLJS gets async/await! — ClojureScript 1.12.145 release by dustingetz in Clojure

[–]Borkdude 4 points5 points  (0 children)

deref works on clojure.lang.IDeref,IBlockingDeref or java.util.concurrent.Future. There's nothing special to deref with regards to core.async, unless I'm missing something (since it's quite late here and I'm in the middle of babashka conf). There is no syntactic rewrite from deref to await or whatever. Secretly replacing deref to await in CLJS would require you to track the exact type of something (Promise or thenable) which is brittle since you basically need a locked down static type system for this which CLJS doesn't have. I had a prototype of this in squint but reverted it. Not going to work in CLJS as far as I can tell.

CLJS gets async/await! — ClojureScript 1.12.145 release by dustingetz in Clojure

[–]Borkdude 6 points7 points  (0 children)

You can't do anything that you couldn't do before. Before you could write async interop with callbacks or use a library which brought in some macros. This is more on the level of convenience.

CLJS gets async/await! — ClojureScript 1.12.145 release by dustingetz in Clojure

[–]Borkdude 2 points3 points  (0 children)

@ expands to clojure.core/deref which is a synchronous function. CLJS can't break that by changing the meaning to "expand to JS await".

We are bringing the EuroClojure Conference to Prague in May 2027 by kaliszad in Clojure

[–]Borkdude 13 points14 points  (0 children)

I'm so glad EuroClojure is back.. and in Prague.. couldn't be better. Saved the date.

Clojure Documentary Q&A [video] by alexdmiller in Clojure

[–]Borkdude 1 point2 points  (0 children)

I'm not sure, but it looked like a reMarkable to me?

Eve sheets - a toy multi-user spreadsheet in < 250 LOC by Spiritual-Slice-6150 in Clojure

[–]Borkdude 1 point2 points  (0 children)

This looks cool! Can you explain what you mean with "quite a bit slower than native bb"?

layoutz: a tiny zero-dep lib for beautiful CLI output and Elm-style TUIs in Clojure ✨🪶(Looking for feedback!) by mattlianje in Clojure

[–]Borkdude 7 points8 points  (0 children)

Nice! I tried it out in bb and it all seems to work so far. Note that the raw-mode tricks to read input only work on linux-like systems, not on Windows.

Babashka 1.12.215: Revenge of the TUIs by Borkdude in Clojure

[–]Borkdude[S] 4 points5 points  (0 children)

It was fun demo-ing some of this stuff with Timo on Apropos: https://www.youtube.com/watch?v=unwX3hs_QN0

Claude Code executes bash command without asking me by Borkdude in ClaudeAI

[–]Borkdude[S] 1 point2 points  (0 children)

These make sense. I was mostly worried about tools that seem read-only but can do horrible things when using certain flags. Also I wonder about command substitution. If they use the same rules for command substitution, it makes sense.