Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Clojurists Together Q2 2018 Funding Round - ClojureScript

This page logs work being done under Clojurists Together Q2 2018 Funding Round towards the ClojureScript project. High level progress reports will be published formally with Clojurists Together, but you can follow here if you are interested in low-level details, progress notes, etc.

Themes

The concrete themes identified include:

  • Fixing CLJS-2702, which prevents us from upgrading to newer versions of Closure Library.
  • Work on highly voted ClojureScript tickets. Please take some time and vote in this list of tickets in need of patches.
  • Work on issues related to NPM dependency management. (In particular NPM issues in the list above will be given extra emphasis).

Work Log

01-May-2018

Work started on CLJS-2702. See details surrounding this work.

05-May-2018

Candidate patch attached to CLJS-2702.

Developed patch in CLJS-2724, allowing use of native Node modules in scripts run via cljs.main.

06-May-2018

Developed patch in CLJS-2739, which improves node_modules indexing performance 6×.

10-May-2018

Sorted out a follow-on issue with CLJS-2702 (testing with latest Closure Library), and attached a patch in CLJS-2751.

16-May-2018

Started looking into CLJS-1871.

17-May-2018

Started looking into CLJS-2369.

18-May-2018

Submitted a patch in CLJS-2298, which causes REPLs to load an user-defined user.cljs / user.cljc file.

Rebaselined patch in CLJS-2651, and it was subsequently applied. This means that Git Deps works in the Shared AOT Cache feature.

19-May-2018

Resolved CLJS-2369. (It turned out to be a valid problem with ClojureScript 1.9.946, but no longer reproducible with 1.10.238.)

Further investigated CLJS-1871 and found that we are already getting what is desired in that ticket owing to the double analysis of cljs.core that occurs when building the compiler, along with CLJS-1992. Also sorted out alternate var meta that achieves the desired effect. Now an open question as to how we proceed given this info.

Found that CLJS-2440 is not reproducible.

20-May-2018

Added a patch to CLJS-1677, which lets us explicitly require goog in ns forms and have things work under :advanced.

21-May-2018

Supplied a patch that makes it possible to generate values satisfying uri? (CLJS-2755).

Began looking into :npm-deps issue CLJS-2757.

25-May-2018

Landed patch in CLJS-1871, which allows static dispatch to declared functions when hinted with :arglists meta. A bonus side effect is that it helps catch arity errors for calls to declared functions.

02-June-2018

Submitted patch in CLJS-2766, which is a self-host regression surrounding revisions to the exists? implementation.

09-June-2018

Looked into CLJS-2770, an odd issue reported with Rhino in com.foo namespaces.

Submitted CLJS-2769 (which has been landed on master). This makes it possible to run the self-hosts tests with the very latest Google Closure Library code.

10-June-2018

Did some work on CLJS-2748.

13-June-2018

Developed a patch in CLJS-2775, a corner case with :install-deps and cljs.main.

16-June-2018

Developed a fix for an issue that prevented async test result reporting from properly occuring with the Node REPL (CLJS-2780).

24-Jun-2018

Added a patch in CLJS-2442, which speeds things up when applying set to a set and vec to a vector.

25-Jun-2018

Added a patch in CLJS-2790 which fixes spurious inference warnings when using defrecord with fields.

30-Jun-2018

Re-baselined and re-benchmarked CLJS-2341 given that CLJS-844 has been applied.

Took a look into CLJS-2341, an issue with using CraftyJS—a library targeting the browser—directly as an NPM dependency.

Progressed CLJS-2693 (support for chuncked-seq processing for ranges), and got the revisions to pass the ClojureScript unit tests. This led to patches in CLJS-2798 and CLJS-2799.

01-Jul-2018

Submitted patch in CLJS-2693 (chunked-seq for range).

Investigated CLJS-2796, tracing it to a potential Closure Compiler regression.

03-Jul-2018

CLJS-2802, which lets empty? work on transient collections.

04-Jul-2018

CLJS-1702 warning when using private vars

CLJS-1997 Outward function type hint propagation

08-Jul-2018

CLJS-2811 cljs-1537-circular-deps fail on Windows

09-Jul-2018

CLJS-2812 IPrintWithWriter for native types

11-Jul-2018

CLJS-2813 Java serializability of JSValue

12-Jul-2018

CLJS-2817 private var warnings when fdef on private vars

12-Jul-2018

CLJS-2819 warn non-dynamic earmuffed vars

14-Jul-2018

CLJS-2806 update to latest test.check

14-Jul-2018

CLJS-2821 update docstring for doto to use js/Map

14-Jul-2018

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

14-Jul-2018

CLJS-2822 port an upstream change in cljs.core.specs.alpha

17-Jul-2018

Did some work on a graaljs REPL env.

18-Jul-2018

CLJS-2382 bad code gen surrounding application of not in operator position

18-Jul-2018

CLJS-2833 Update to Closure Compiler v20180716

20-Jul-2018

CLJS-2541 binding not made in parallel

21-Jul-2018

CLJS-2825 Eliminate unnecessary ^boolean annotations

21-Jul-2018

CLJS-2837 cat specs should verify value is sequential

CLJS-2838 s/& does not check preds if regex matches empty collection

(and many other spec-related tickets to bring things up-to-date)

26-Jul-2018

CLJS-2725 Doc on spec keywords

31-Jul-2018

CLJS-2852 Clojure imparity: ns-publics returns different arglists for macros

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.