Fork me on GitHub
#cljs-dev
<
2016-09-15
>
martinklepsch15:09:07

top-level set! calls seem to be elided during advanced optimizations, is that unexpected?

darwin15:09:57

@martinklepsch what is the target object of that set! ? I think setting something on your own object which is not used will be elided

darwin15:09:07

setting something on js/window for example will stick

martinklepsch15:09:31

target was a foreign js lib so js/Dropzone.prototype.something

darwin15:09:17

hm, is the Dropzone used anywhere in code visible by closure?

darwin15:09:03

or maybe you need some extern to tell it that Dropzone.prototype is external thing and should not be elided?

darwin15:09:15

not sure, just thinking aloud

martinklepsch15:09:14

right, externs are provided

martinklepsch15:09:28

The particular thing isn't used anywhere else but js/Dropzone is

martinklepsch15:09:59

I'll see if I have time to create a repro, maybe it was also just some intermittent weirdness

darwin15:09:48

I would try to add Dropzone.prototype.something into externs

Yehonathan Sharvit20:09:29

Currently, it seems that Contrib Clojure projects cannot be portable with cljc. See https://github.com/clojure/math.combinatorics/pull/3

Yehonathan Sharvit20:09:58

@alexmiller’s note:

Please note that currently Clojure contrib projects with cljc cannot be built in the Clojure CI system (due to a stack of yaks). The only project currently using cljc is test.check, which must be built through a painful manual process. Because of that, I would prefer to delay this until that issue is fixed.

We have mapped out the path to fixing this issue but it's been delayed due to other work. It is considered an important issue to fix and we do intend to do it.

Yehonathan Sharvit20:09:15

Who knows what is the status of this issue?

Alex Miller (Clojure team)20:09:36

But I expect to work on it soon

Yehonathan Sharvit20:09:10

soon is days, weeks or months?

dnolen20:09:19

@viebel definitely going to be after StrangeLoop

dnolen20:09:36

I would assume months - .cljc is not high priority

dnolen20:09:01

it’s a nice to have admittedly

Yehonathan Sharvit20:09:40

I have a nice demo of using math.combinatorics/permutations to solve a not-so-easy arithmetic riddle

dnolen20:09:59

sure but you’ll just have to be patient

dnolen20:09:08

everyone is busy with a long list of important things

Yehonathan Sharvit20:09:41

The riddle is:

find the permutation of 3 numbers x,y,z where x has 3 digits, y has 2 digits and z has 1 digit with distinct digits between 1 and 6
 such that a*b*c is maximal

Yehonathan Sharvit20:09:40

I am loading clojure.math.combinatorics from my github fork

Yehonathan Sharvit20:09:16

It would be nice to have combinatorics in clojurescript

Yehonathan Sharvit20:09:23

But I’ll be patient...

dnolen20:09:53

once the CI server can handle .cljc, I’m sure the rest is up to the community to patch libs

Yehonathan Sharvit20:09:36

Yeah. Usualy, it’s not so hard to patch

Yehonathan Sharvit20:09:49

and to test with planck or klipse that it self-host compatible

dnolen20:09:55

I waited 4 years for reader conditionals 🙂

dnolen20:09:01

we can wait a couple months for CI server fixes