Fork me on GitHub

Calva is out. It makes me happy to see three new code contributors in the latest few releases. Warms thanks to @ajoberstar @maksimrv @am ❤️ 🙏. As warms thanks to the usual suspects too! Main news since last announced, Calva now: • has improved clojure-lsp integration • has an experimental first version of Clojure Notebooks (my crystal ball for this reveals the blurring of regular REPL driven development and Notebook workflows) • offers customizable inline result styling • defaults to inject fresh versions of nREPL and related tools • contains fewer bugs (haha, well, I actually think that recently we have fixed more than we have added) calva

🎉 22
calva 15
clojure-lsp 7
cider 6
💚 1

An initial release of is hot off the presses! This is an open-sourced version of Amperity's internal CSV parsing library, which we developed in response to the truly wild variety of delimiter-separated value data we were getting from our clients. Separator's primary purpose is customizable and defensive parsing, allowing it to handle many kinds of messy data files without exploding. With that, it's still significantly faster and more efficient than, but not quite as fast as Jackson. It also includes writing capability, making it a general-purpose DSV codec.

🎉 14
👍 1

The worst CSV I’ve ever heard of (thankfully not encountered myself) is of IIRC Danish origin, where due to diacritic characters and overloaded escaping the field delimiter is "" - yes, two double quotes. I don’t expect anyone to support this, this just reminded me of that…thing.

😱 1
😂 1

Introducing ClavaScript, a ClojureScript syntax to JavaScript compiler! The primary use case for clava (its short name, not to be confused with Calva) is to produce JavaScript using ClojureScript syntax while producing ultra-small bundle sizes, by leveraging the JS platform directly. Clava does not protect you from the pitfalls of JS (mutability, equality), but lets you use the concepts you already know from ClojureScript and maps them more or less directly to JS where this makes sense. It comes with a standard library which has many of the core functions you know: map-indexed , for example, works like you would expect, but returns a mutable JS array instead of an immutable vector. Repo: Npm: npm install clavascript Read for... well, the differences with ClojureScript. It has support for and Clava is open to contribution, especially in the area of porting core functions. An example of a SolidJS app written using Clava: ( Give it a spin and let us know what you think in #clavascript On behalf of the Clava core team (@borkdude, @lilactown, @corasaurus-hex): enjoy!

🙌 23
borkdude 27
👀 2
🎉 5
🔥 5
👍 2

Exciting stuff! Are there plans for a clava REPL?


The roadmap is roughly: • Support macros • Support REPL and in parallel: • extend stdlib / protocols / transducers

metal 3

Have you had a look at the coming JavaScript Records and whatever the vector type is named, in regards to how they might be relevant for ClavaScript?


How does this compare to Cherry? If I were to assume, it sounds like Cherry is meant to be Clojure with ES6 output, whereas this is a skin over JS? Very cool project!


@U6GNVEWQG Cherry and clava are very similar: in fact, clava is a fork of cherry but lives in its own repo now so it can be developed independently. Both output es6 code to integrate well with JS tooling and esbuild treeshaking

👍 1
Jeongsoo Lee18:08:54

I am so looking forward to the day when we can seamlessly write Clojure expressions in a <script> tag

Jeongsoo Lee18:08:30

@borkdude Of course we can, your highness!

eccentric J05:08:46

This is cool! I think cherry might be THE cljs experience I have been daydreaming about 🤤


I think this will finally make #remix possible !


Fulcro 3.5.24 release to Clojars. The new version supports composing a transaction during routing that can run in pessimistic mode so that the parent’s ops complete before children. See

clojure-spin 12
fulcro 15