Fork me on GitHub
#cljs-dev
<
2016-12-16
>
ambrosebs19:12:58

@dnolen do you mind if I split the :js-value AST node into :js-object and :js-array ops

dnolen19:12:52

@ambrosebs I would look around to make sure there wouldn’t be too many repercussions but I don’t see why not

ambrosebs19:12:14

are there any projects out there that rely on the AST representation?

Alex Miller (Clojure team)19:12:56

@ambrosebs: hey btw the tools.analyzer.js build has been broken for >= Clojure 1.8 for a long time

Alex Miller (Clojure team)19:12:05

I keep meaning to mention this

dnolen19:12:51

@ambrosebs I’m less concerned about about external tooling relying on this stuff than I am about internal issues

ambrosebs19:12:24

@alexmiller I'm not that familiar with ta.js, but I'll have a look as I rotate around these projects

ambrosebs19:12:05

I've been browsing the source lately tho

Alex Miller (Clojure team)19:12:35

Oh well ping ping ping

ambrosebs19:12:01

@dnolen so far I've only seen cljs.compiler using the AST and a few tests. is that right?

dnolen19:12:28

@ambrosebs yes that should be correct, however you should always double check cljs/core.cljc macros file

dnolen19:12:34

we use the analyzer there for optimizations

mfikes20:12:31

@dnolen I believe it is. I am re-baselining it as it no longer applies and will confirm that it still occurs on master.

mfikes20:12:40

@dnolen CLJS-1831 is still relevant. (The unit test included in the patch fails if you don’t include the production code.) I’ve re-baselined and attached a new revision. But, a side issue is that script/test-self-parity doesn’t run on master right now (unrelated to CLJS-1831).

mfikes20:12:17

For reference,

$ script/test-self-parity
Testing with Node
WARNING: baz is a single segment namespace at line 1 src/test/cljs/baz.cljs
#error {:message "No such namespace: cljs.test.check, could not locate cljs/test/check.cljs, cljs/test/check.cljc, or Closure namespace \"cljs.test.check\"", :data {:tag :cljs/analysis-error}}

mfikes20:12:59

Will take a look at script/test-self-parity when I get a chance, unless someone else beats me to it.

jrheard20:12:03

oh nice one of my patches got accepted 🙂 thanks!

mfikes20:12:55

@jrheard May it be the 2nd of many to follow 🙂

anmonteiro21:12:40

@mfikes: perhaps we're not including the test.check JAR anymore when running the tests?

anmonteiro21:12:09

I thought we were doing it but it might have been removed somehow?

anmonteiro21:12:39

I don't have time to check right now but could be a reason

mfikes21:12:24

@anmonteiro I can’t recall either. test.check with support for self-hosted ClojureScript hasn’t yet been released, but you are right we may have been including it and it was sufficient for now. One of us will get to the bottom of it. 🙂

mfikes21:12:22

Ahh, no need to bisect ^ it was a consequence of the last commit.

ambrosebs22:12:53

@dnolen I'm also using tools.analyzer's :children representation, and adding (fairly shallow) tests for each AST node. Is that useful for you?

mfikes23:12:12

Transit is calling PersistentArrayMap.fromArray but this was recently removed in ClojureScript master. Should I file a Transit defect ticket, presuming ClojureScript doesn’t guarantee this exists? ClojureScript: https://github.com/clojure/clojurescript/commit/841254a96066ea14da9a4f647b41e13a7c5e0026#diff-6db96e000d4412edf3aa45181efd6ebbL6342 Transit: https://github.com/cognitect/transit-cljs/blob/master/src/cognitect/transit.cljs#L94