This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-02-20
Channels
- # architecture (1)
- # babashka (5)
- # beginners (46)
- # calva (8)
- # cider (12)
- # clj-kondo (2)
- # cljfx (3)
- # clojure (23)
- # clojure-europe (7)
- # clojure-israel (2)
- # clojure-nl (11)
- # clojure-norway (8)
- # clojure-uk (1)
- # clojurescript (27)
- # conjure (2)
- # cursive (50)
- # data-oriented-programming (1)
- # data-science (1)
- # datahike (1)
- # datascript (12)
- # emacs (3)
- # events (1)
- # fulcro (13)
- # lambdaisland (7)
- # leiningen (4)
- # lsp (102)
- # meander (2)
- # off-topic (19)
- # parinfer (3)
- # reveal (8)
- # rewrite-clj (13)
- # shadow-cljs (3)
- # specter (13)
- # tools-deps (6)
- # vim (12)
Does anybody know where I can find documentation on how to build clojurescript and run the tests? I'd like to try fixing an issue but I've always used cljsbuild and shadow-cljs, so I'm not sure how to build vanilla cljs.
https://github.com/clojure/clojurescript/wiki/Developers and https://github.com/clojure/clojurescript/wiki/Building-the-compiler seem like a good start
and https://github.com/clojure/clojurescript/wiki/Running-the-tests for running the tests
is there anything like elm-ui / theme-ui in the cljs ecosystem? closest thing Ive found is this: https://github.com/hoplon/ui
@U4P4NREBY I havent used elm either, but watched a clip on it. essentially an abstraction on top of html/css that does away with the bad parts. theme-ui is similar but less ambitious, you use design tokens instead of hardcoding with pixels and hex/rgb colors
You can use reagent/hiccup with a simple css frame work like Bulma to accomplish the same thing.
@U2CR1J4UV not exactly the same thing unfortunately
I haven't seen these before, but ostensibly you could build something yourself on top of theme-ui and a more barebones React wrapper
Interesting, in Clojure:
[(mod 8.5 1.4) (rem 8.5 1.4)]
;;=> [0.10000000000000142 0.10000000000000142]
But in CLJS:
[(mod 8.5 1.4) (rem 8.5 1.4)]
;;=> [0.10000000000000053 1.5]
Ah, because (quot 8.5 1.4)
is 6.0 in Clojure, 5 in js
That is so weird that they would be off by 1 from each other. That is 0.1 away from being an epsilon type of rounding error.
Oh, I see how CLJS quot is implemented now. It is very sensitive to tiny epsilon differences in double arithmetic.
haha, yes, sorry!
sicmutils.numbers-test> (/ 8.5 1.4)
6.071428571428572
sicmutils.numbers-test> (quot 8.5 1.4)
5
but this is a bug for sure, yeah @thheller? wherever the fix goes
sicmutils.numbers-test> (/ (- 8.5 (js-mod 8.5 1.4)) 1.4)
5.999999999999999
it doesn’t QUITE make it internally to the 6 it should be at. floating point shenanigans
is this sort of thing worth filing, or just JS floating point stuff that we inherit?
similar strangeness,
(rem 9037601485536036300227801N 1e4)
1.073741824E9
sicmutils.numbers-test> (rem 9037601485536036300227801N 10000)
7801N
on the JVM sidedouble on the right gets this wrong, and returns a number greater than the modulus