This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-01-22
Channels
- # announcements (1)
- # aws (2)
- # babashka (52)
- # beginners (35)
- # calva (20)
- # clj-kondo (13)
- # cljdoc (8)
- # clojure (14)
- # clojure-uk (6)
- # clojurescript (5)
- # conjure (13)
- # crypto (1)
- # data-oriented-programming (1)
- # datalevin (7)
- # emacs (2)
- # fulcro (21)
- # graalvm (14)
- # introduce-yourself (1)
- # lsp (6)
- # malli (17)
- # off-topic (15)
- # re-frame (10)
- # releases (1)
- # sci (2)
- # shadow-cljs (17)
- # tools-build (9)
- # tools-deps (6)
@alexmiller hey, is there any roadmap for spec.alpha? Like, is it still cooking, or is it kind of on hold because of a road bump, does it still not feel right? Etc.
been focusing on other things, I expect it will get more attention this year
we haven't decided all the things we want to do yet so don't think I can answer that
On my phone the link to "get-in" goes to the file, but not the exact line. It's that just happening to me? I could spend a weekend updating the links to the exacit lines, if it means we can say I'm a core contributor :) https://clojuredocs.org/clojure.core/get-in
link seems right on a computer, goes to: https://github.com/clojure/clojure/blob/clojure-1.10.1/src/clj/clojure/core.clj#L6142 sometimes on the phone I find the anchors into core.clj (which is very large) don't work
Great, i think it's just the github app not working right.
I've got a cljc file that I'd like to ensure remains cljc, with nothing non-portable sneaking in. Is there a simple test I can write to ensure this, or do I just need to check both in js and jvm land?
To the best of my knowledge, it's the same deal as proving that some piece of code works, only in this case it must work on both JS and JVM. So it can't be a simple test.
I can think of a custom reader that ensures that for every reader conditional, ensures there are both :clj and :cljs branches
It would mean that for stuff that you really intend to have just 1 branch, you'd have to write e.g. ,,, :cljs :ignore
:thinking_face: you don't need a custom reader really, you'd read
the file with :read-cond :preserve
and then you can inpect those https://github.com/clojure/clojure/blob/da0b9574017918deede6d2a15f386a7cc1b70a2c/src/jvm/clojure/lang/ReaderConditional.java objects.
Could make for an interesting, lightweight linter
If you use #clj-kondo it will lint your program twice, once for clj and once for cljs. It will tess you if you have imports and use them in cljs, and tell you about missing function, etc.
It's probably your best bet at a relatively easy way to determine if something is portable, though it's not gonna catch 100% of everything.