~/Code/local/clojure ····································· at 15:03:13
time npx nbb -e "(:doc (meta #'meta))"
"Returns the metadata of obj, returns nil if there is no metadata."
0.13s user 0.02s system 114% cpu 0.134 totalIs this a totally custom interpreter? If so, what's the coverage like of ClojureScript's built-in features and functionality? Do third-party libraries generally work in it without issues?
As for third-party libs: it depends if they are written in the subset that SCI supports. If the library is useful enough for scripting then it can be considered for added as a built-in. The classpath support is still something under development, but it already works for gitlibs. Here is an example of running HoneySQL from source in nbb: https://github.com/borkdude/nbb#classpath.
Just let me know if something doesn't work out (on Slack or Github issues/discussions).
clj gives a different way of thinking (imho better), but alas even introducing algebra to geometry had push back, and so will anything that upsets the norm.
Another equally important benefit of clojure is its stability, i.e you can write a script today and it will run weeks/months/years/decades afterwards, the same cannot be said for js.
This is all known to people already using clj and cljs, and now we can keep enjoying our clojure on nodejs also :)
note: there is a misconception aparently that clojure does not support mutability, it does, just does so in a sane way so you dont shoot yourself in the foot. So yes you can mutate in clojure, and yes you can have side affecting stuff, clojure programmers do so every day .
I love lisp but... https://github.com/borkdude/nbb/blob/main/examples/puppeteer...
"Look how cool I'm, I downloaded this thing just to add parenthesis to my JS script!"
What "knowing JS" even entails here? Reading through ECMAScript's Specification (of over 800 pages long) at least once? Having to deal with browsers since 1998? Knowing your way around numerous "standard libraries"? Understanding perplexing landscape of perpetual changes in JS/TS?
Most full-stack developers (arguably) are not Javascript experts, yet they do sometimes need to write small front-ends or deal with nodejs.
See e.g. https://github.com/chr15m/c64core for a non-trivial project in nbb.
I feel you haven't grasp yet, the actual difference between seemingly simple and truly simple things. Path to simplicity quite often is not that straightforward.
Try for example converting the example you're pointing at to javascript, just for comparison.