Clojurians
#cljs-dev
<
2016-08-15
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

richiardiandrea00:08:39

hello here I am again :scream: so I tracked down the problem to a nil env/*compiler* in replumb, so basically to here: https://github.com/clojure/clojurescript/blob/756fa9bb196a97e0ae40fd644da5e492e0336c1c/src/main/clojure/cljs/analyzer.cljc#L1800

richiardiandrea00:08:30

it was checking that part and I am maybe missing the reason why there is a let there given that cenv is never used

richiardiandrea00:08:57

same behavior in inferred-use-macros and missing-use-macros and missing-uses

richiardiandrea00:08:58

so probably @dnolen it is something that requires your suggestion on what to do, given that I might miss some important detail here..

richiardiandrea00:08:43

in case we can purge that, I can take care of that

richiardiandrea00:08:49

then I need to investigate why in my case env/*compiler* is nil on my side

dnolen00:08:45

@richiardiandrea: it just sounds like the compiler environment didn’t get bound because of some async load

richiardiandrea00:08:16

ok I am checking that too

richiardiandrea01:08:59

ah ah I had tests again the fact that :rename was not working in replumb, now it is! :smile:

richiardiandrea01:08:26

I found (maybe) a small regression on an error message: shall I open an issue? explanation:

richiardiandrea01:08:33

before this: (ns my.namespace (:require [clojure.string :refer :all]))

richiardiandrea01:08:48

was returning ...:refer must be followed by a sequence of symbols in :require / :require-macros;

richiardiandrea01:08:30

now it returns Could not eval (ns my.namespace (:require [clojure.string :refer :all])) - :all is not ISeqable at line 1

dnolen12:08:59

@richiardiandrea: sure

dnolen13:08:17

1.9.211 is out

anmonteiro14:08:20

or shouldn’t it depend on that?

anmonteiro14:08:58

kinda tricky to port runtime enabling/disabling of asserts from Clojure

dnolen14:08:55

@anmonteiro: runtime enable/disabling of asserts outside of development is a non-goal

dnolen14:08:02

i.e. doesn’t need to work in advanced

dnolen14:08:33

it should work under dev though

anmonteiro14:08:34

@dnolen: I was thinking of using elide-asserts for compile time and a dynamic var *runtime-asserts* for runtime

anmonteiro14:08:50

open to better suggestions

dnolen14:08:55

@anmonteiro: if that more or less mimics Clojure yeah go for it

anmonteiro16:08:17

@dnolen: also tweaking docstrings for the differences between Clojure and CLJS (e.g. system properties vs compiler option)

anmonteiro16:08:34

let me know if I should keep the original (Clojure) docstrings

anmonteiro16:08:49

@mfikes: would also appreciate you looking over any bootstrap issues for this one. Tests are passing so I’m confident there’ll be none

thheller16:08:49

@anmonteiro @dnolen while you guys are talking about assert

thheller16:08:02

if we introduce it as a goog-define

thheller16:08:21

we can remove :elide-asserts since the closure compiler can do it

thheller16:08:31

+ we get runtime asserts

dnolen16:08:07

@thheller: yes something to think about, but going to be pretty focused on cljs.spec for the next couple of releases

anmonteiro16:08:39

@dnolen: a little more nitpicking, I think some gens are missing from cljs.spec.impl.gen: bytes and double* seem to be missing, and the gen-for-name function is commented out

anmonteiro16:08:48

what should be done for these?

dnolen16:08:04

bytes didn’t make any sense to me nor double

dnolen16:08:13

if you can make a case for them that would be good

anmonteiro16:08:16

there is double, but not double*

dnolen16:08:38

what is double* sorry

anmonteiro16:08:56

a generator that provides more control than double

anmonteiro16:08:07

allows to specify that you don’t want NaNs, etc

dnolen16:08:22

ok make a separate issue for that then

anmonteiro16:08:42

what about gen-for-name?

dnolen16:08:56

what does that do?

anmonteiro16:08:57

it’s there but commented out

anmonteiro16:08:07

"Dynamically loads test.check generator named s."

dnolen16:08:28

right that doesn’t make any sense in ClojureScript

dnolen16:08:35

dynamically load … how?

anmonteiro16:08:54

it will probably already be there

richiardiandrea18:08:29

@dnolen: am I doing something wrong here?

Could not find artifact org.clojure:clojurescript:jar:1.9.216 in central ()
Could not find artifact org.clojure:clojurescript:jar:1.9.216 in clojars ()

dnolen18:08:24

@richiardiandrea: not waiting long enough :slightly_smiling_face:

richiardiandrea18:08:08

ah ah well my bad :smile: