By Daniel Compton

Clojurists Together news

This was the final month for CIDER and ClojureScript. Our next two projects that we are funding are cljdoc and Shadow CLJS. Thanks to all of our members who support Clojurists Together. It’s thanks to your generous support that we can do this.

This months updates were all around getting nREPL 0.4 into the hands of everyone.

Several ClojureScript patches were worked on in first half of July.

Added a new feature to produce compiler warnings on private var use via CLJS-1702 and CLJS-2817.

Added function return type inference via CLJS-1997.

Added support for IPrintWithWriter with native types via CLJS-2812.

with native types via CLJS-2812. Added warnings for non-dynamic earmuffed vars via CLJS-2819.

Updated to latest test.check via CLJS-2806.

via CLJS-2806. Updated docstring for doto to use js/Map via CLJS-2821.

to use via CLJS-2821. Submitted a patch in CLJS-2693, which adds chunked seq support to ranges.

With CLJS-2796, caught a Closure Compiler regression, filed an upstream issue, which was fixed.

Added a patch in CLJS-2802, which lets empty? work on transient collections.

work on transient collections. Landed a fix for a bad test related to Windows in CLJS-2811.

Submitted a patch in CLJS-2813, adding Java serializability of JSValue .

. Looked into CLJS-2793, an issue with specing variadic fns.

The second half of July involved these tickets:

Added a new Graal.JS REPL environment via CLJS-2831.

Updated to Closure Compiler v20180716 via CLJS-2833.

Updated ClojureScript’s implementation of spec, to bring it to parity with Clojure’s via: CLJS-2725, CLJS-2822, CLJS-2665, CLJS-2848, CLJS-2846, CLJS-2841, CLJS-2847, CLJS-2842, CLJS-2845, CLJS-2844, CLJS-2840, CLJS-2839, CLJS-2838, and CLJS-2837.

Landed a fix for an issue where binding was not being done in parallel via CLJS-2541.

was not being done in parallel via CLJS-2541. Landed a fix for bad code gen surrounding application of not in operator position via CLJS-2382.

in operator position via CLJS-2382. Submitted a patch to eliminate unnecessary ^boolean annotations in CLJS-2825 (possible because of the new function return type inference).

annotations in CLJS-2825 (possible because of the new function return type inference). Landed a fix for an issue with arglists and macros via CLJS-2852.

This work was a lot of fun—I’m looking forward to the changes appearing in an official ClojureScript release in the future!