20 July 2023
Alex Miller
Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem. (@ClojureDeref RSS)
Our team has been in and out the last couple weeks with a variety of summer vacation, but we are starting to focus our sights on the end game for Clojure 1.12.
Several pieces of work are in the review stage:
CLJ-2775 - new functions to support Java streams in the Clojure world (for seq, into, and reduce), particularly useful when interacting with a Java API that provides streams
CLJ-2792 - makes all IDeref instances into java.util.function.Supplier’s
CLJ-2791 - adds a good spliterator implementation to PersistentVector. All Collections get a default implementation but this one has direct access to the underlying data, and being immutable it is perfectly amenable to use under Java parallel streams.
Ongoing work is still happening on these big new features that we intend to deliver:
Functional interface adapters (using Clojure functions as Java functional interface instances) - the gnarly adapter work is essentially done, but still working on when and where this will happen
Method thunks - new syntax and compiler support to use Java static methods, instance methods, and constructors directly as Clojure functions
I’ve mentioned work on variadic invocation in the past and while we’ve made some progress on this, I think we’re going to slip that out of 1.12 to start closing things down.
Why you need Fulcro, the web framework to build apps better, faster (by Jakub Holý) - London Clojurians
Lingy & YAMLScript - News Ways to Program Perl - Ingy döt Net - The Perl and Raku Conference
Getting Superpowers with Clojure and ClojureScript - DevConf.CZ 2023 - DevConf
Smashing a real ClojureScript compiler bug with FlowStorm - Juan Monetta
Lisp Tutorial for Beginners (Clojure) - Sammy Talks
Find out text similarities using Clojure - Clojure Diary
Why My Brain Is Wired for Clojure - Adam Schmideg
No Iterations - Benjamin Schwerdtner
jank development update - A faster object model - Jeaye Wilkerson
How to integrate Tailwind into your React Native/ClojureScript/Expo App - Nimrod Sadeh
The Lost Arts of CLJS Frontend - Thomas Heller
Applying the Art of CLJS Frontend - Thomas Heller
Mastering the Art of CLJS Frontend - Thomas Heller
µ/log hidden superpower - Bruno Bonacci (Redefine Technologies)
Building an Event-Driven Architecture in Clojure (Part 1) - Janet A. Carr
deps.edn and monorepos XI (Polylith) - Sean Corfield
Clojure: SQLite application defined SQL functions with JDBC - Anders Murphy
New releases and tools this week:
byte-streams 0.3.3 - A Rosetta stone for JVM byte representations
superlifter 0.1.5 - A DataLoader for Clojure/script
TrueGrit 2.1.30 - A data-driven, functionally-oriented, idiomatic Clojure library for circuit breakers, bulkheads, retries, rate limiters, timeouts, etc.
primitive-math 1.0.1 - For the discerning arithmetician
overarch 0.1.0 - A data driven description of software architecture based on the C4 model
calva 2.0.377 - Clojure & ClojureScript Interactive Programming for VS Code
xtdb 1.24.0 - General-purpose bitemporal database for SQL, Datalog & graph queries. Developed by @juxt
clj-kondo 2023.07.13 - Static analyzer and linter for Clojure code that sparks joy
humanize 1.0-beta-1 - Produce human readable strings in clojure
aws-api 0.8.686 - AWS, data driven
rdf 0.3.0 - A backstop for shared logic between rdf-based implementations of IGraph
pod-babashka-fswatcher 0.0.5 - Babashka filewatcher pod
astronvim-config 2023-07-08 - Practicalli AstroNvim user configuration with AstroNvim Community Packages, written in Lua
igraph-jena 0.3.0 - Porting Jena to the IGraph protocol
edamame 1.3.23 - Configurable EDN/Clojure parser with location metadata
pretty 2.0 - Library for helping print things prettily, in Clojure
clj-new 1.2.404 - Generate new projects based on clj, Boot, or Leiningen Templates!
clolog - Full-featured logic programming (AKA "Prolog") embedded in/callable from and supporting calls to Clojure
babashka 1.3.182 - Native, fast starting Clojure interpreter for scripting
playback 0.3.9 - Interactive Programming and Print Debugging Reimagined
project-templates 2023-07-17-2 - Clojure CLI Production level templates for seancorfield/deps-new
calva 2.0.381 - Clojure & ClojureScript Interactive Programming for VS Code
repley - A web REPL made with Ripley
sitefox 0.0.17 - Node + cljs backend web framework
license-finder 0.2.1 - Finds licenses of your Clojure(Script) dependencies
fulcro-rad 1.5.3 - Fulcro Rapid Application Development
ash-ra-template 0.7.0 - Expressive & customizable template system featuring Clojure language processing