18 ms·
Interesting, in the CLJS space we recently got two new libraries in this space: https://github.com/squint-cljs/squint https://github.com/squint-cljs/squint Whi
by orestis 4y ago
Interesting, in the CLJS space we recently got two new libraries in this space:
https://github.com/squint-cljs/squint https://github.com/squint-cljs/squint Which is a thin layer on top of JS
https://github.com/squint-cljs/cherry https://github.com/squint-cljs/cherry Which is closer to CLJS semantics and data structures but compiles to .mjs files without any advanced optimizations etc.
- daakus 4y agoI'm a huge fan of Clojure and have had a lot of fun building things with it. CLJS on the other hand has felt heavy to me, from a browser performance and dev tooling perspective. Clojure startup time always affected me more so with CLJS projects. I hope these two projects alter the landscape for the better! Besides those aspects, Dak is different than these two specifically in that it tries to provide something closer to a minimal 1-to-1 language feature mapping to JavaScript as the base, with a goal of having essentially no runtime. The clean room implementation has downsides - Squint and Cherry can reuse Clojure tooling like clj-kondo etc, which Dak cannot. On the other hand Dak is small, the transpiler is under 2k lines as I write this. It can run on virtually any modern JavaScript runtime (all browsers, node, deno, bun etc).