Notes.
I’m not an American, but I do appreciate the opportunity one day a year (at least!) to spend some time thinking about what I’m thankful for. In the sphere of Clojure, this year I’m thankful for:
- All of the Clojure community and core team continuing to build a great ecosystem and language
- Day8 and Mike Thompson for employing me and funding me to work on the re-frame suite of tools and libraries (along with other internal work).
- Clojurists Together members, you’re all the reason that Clojurists Together has any money to fund any work.
- Everyone who applied for funding from Clojurists Together. We weren’t able to fund everyone, but I really appreciate the effort that went into submitting an application.
- All of the projects that we were able to fund and the amazing work they did. You can see them on one page here.
- The Software Freedom Conservancy (SFC), we don’t talk about it too much (we should do more), but the SFC have put in a lot of time into Clojurists Together this year helping us get up and running. They do lots of good work for us and other OSS projects, consider becoming a supporter.
- Everyone who is a customer of Deps.
- Lastly, all of you for reading this newsletter and listening to The REPL podcast, sending me feedback, and letting me know about cool projects.
-main
- A new Clojure podcast: Functional Design in Clojure. I just found this as I was preparing the newsletter, but I’m looking forward to listening to these.
- Writing testable CLJS apps with re-frame and devcards
- clj-templates is a search tool for Lein and Boot templates
- It was my pleasure to talk with Elana Hashman, Hannah Henderson, and Howard Lewis Ship on The REPL. I also wrote a (very late) announcement post about The REPL.
- Probably not ideally timed given the Thanksgiving holiday, but there was some more discussion about Clojure and the openness of its development process. It started with the release of Clojure 1.10.0-beta8 which introduced a new function async-require. This is not an asynchronous require call, but the opposite, a require that is safe to run in an asynchronous context. Some people found this confusing, but Alex Miller wasn’t interested in discussing it further. That then spilled over onto Twitter with more discussion about the Clojure development process.
Libraries & Books.
- xodarap lets you recurse without worrying about blowing stack boundaries. Under the covers it uses core.async.
- tvm-clj is a new high-performance numerics compiler. This is super interesting and opens up a lot of new areas that Clojure can tackle around high-performance code, dealing with unsigned types, numerics, and machine learning.
People are worried about Types. ?
- Clojure Spec-Alpha2 has a GitHub repo, but there’s not much news about what will be changing yet.
- Elsa is a new static analysis library for Emacs. This issue talks about converting the Haskell inspired type annotations into Lispy ones.
- The Road to Typed Clojure 1.0
Foundations.
- Amazon has come out with Corretto, a new OpenJDK distribution. Notably, Java 8 support will be provided until at least June 2023 (Oracle’s JDK is ending free updates for commercial users in January 2019). For Linux distributions they only provide RPM’s, but hopefully, they will also provide Debian packages.
- Bifurcan is a new set of functional data structures for the JVM. They comparevery favourably to mutable data structures, especially at large collection sizes.
Tools.
- Reid McKenzie gave a great talk on Katamari, a new build tool he’s making, along with an excellent survey of build tools in general. I learnt a lot from this talk, it’s highly recommended.
- zprint-mode.el is an Emacs minor mode for formatting your code with zprint.
Recent Developments.
- ClojureScript 1.10.439 is out with a bunch of improvements. Notably, compiler performance is much better.
Learning.
Misc.
- Bill Gates plans for fighting climate change
I’ve got quite a backlog of interesting links that I wasn’t able to include here, sorry if I missed your great project or post.
I’m Daniel Compton. I maintain public Maven repositories at Clojars, private ones at Deps, and help fund OSS Clojure projects (along with tons of generous members like Pitch, JUXT, Metosin, Adgoji, and Funding Circle) at Clojurists Together. If you’ve enjoyed reading this, tell your friends to sign up at therepl.net, or post a link in your company chatroom. If you’ve seen (or published) a blog post, library, or anything else Clojure/JVM related please reply to this to let me know about it.