30 June 2023
Alex Miller
Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem. (@ClojureDeref RSS)
This week we released Clojure 1.12.0-alpha4 which is mostly bug fixes to previously released 1.12.0-alpha features (mainly IDrop, add-lib, and clojure.java.process). We really appreciate all the feedback and bug reports on those things. In particular, one of the IDrop fixes this week was the result of tracking down a somewhat obscure crash with Sean Corfield - he patiently ran a lot of stuff and provided some key insight near the end as we tracked down the difference, which had to do with partition
on non-integers! Anyways, that’s fixed. The add-libs and related changes cover some important ground too, but make sure that you are using the latest Clojure CLI - that is required for add-lib
to work.
Work continues this week on functional interface adapters. We ran into a bit of a corner and took a step back to think a bit more broadly about what would be useful which redirect us slightly, still puzzling through that. I also did a bit more exploratory work on varargs support, and Fogus continues to work on the ability to use Java methods as IFns - we are trying to be careful there in combination with the functional interface adapter work so we don’t end up taking a Java functional interface, wrapping it as an IFn, and then adapting it back to the functional interface - we think we have a strategy to do that.
And as always, big thanks to Anton Fonarev for all the assistance on link aggregation!
Webinar: The Xiana Framework for Clojure - Flexiana
Betting your company on Lisp: 5 years with Clojure in production by Adam Tornhill - London Clojurians
Babashka Conf 2023 - Babashka-tv
How to deploy a Biff app - Biff
Reduce System Complexity with Data-Oriented Programming • Yehonathan Sharvit • GOTO 2023 - GOTO Conferences
Creating a Clojure library for map operations - Clojure Diary
Clojure digressions - Setting up a playground - Francesco Pischedda
Clojure Plays Mario - Phronemophobic’s Blog
Building Projects: tools.build and the Clojure CLI - clojure-doc
Clojure Corner with Sean Corfield (part 1) - Flexiana
Calva Maintenance is Exciting! - Peter Strömberg
A case for ClojureScript 2.0 - Nikita Prokopov
New releases and tools this week:
martian 0.1.24 - The HTTP abstraction library for Clojure/script, supporting OpenAPI, Swagger, Schema, re-frame and more
re-dash 0.3.0 - A ClojureDart (re)framework for building user interfaces, leveraging Flutter
calva 2.0.374 - Clojure & ClojureScript Interactive Programming for VS Code
lacinia-pedestal 1.2 - Expose Lacinia GraphQL as Pedestal endpoints
lang-clojure-eval 0.0.17 - Clojure plugin for Codemirror 6 with live inline evaluation
robot 0.3.1 - Clojure wrapper to simplify writing desktop scripts with java.awt Robot and Clipboard
emmy-viewers 0.1.0 - High-performance symbolic, 2D and 3D visual extensions to the Emmy computer algebra system
simple-http-server - A simple http server implemented as thin Clojure wrapper around SimpleWebServer
from JEP 408 for JDK 18+
sci 0.8.40 - Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
REPLey - A web REPL made with Ripley
clong 1.0 - A wrapper for libclang and a generator that can turn c header files into clojure apis
pretty 2.0-beta-1 - Library for helping print things prettily, in Clojure - ANSI fonts, formatted exceptions
aleph 0.6.3 - Asynchronous communication for Clojure
next-jdbc 1.3.883 - A modern low-level Clojure wrapper for JDBC-based access to databases
fulcro 3.6.6 - A library for development of single-page full-stack web applications in clj/cljs
fulcro-rad 1.5.2 - Fulcro Rapid Application Development
clj-graphviz 0.5.1 - A clojure wrapper for the libgraphviz c libraries