Clojurians
#cljs-dev
<
2017-12-08
>

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

mfikes14:12:39

I'm curious if ClojureScript' Spec implementation would be ultimately broken out from ClojureScript proper (and added to https://github.com/clojure/spec.alpha). (I also wonder if the plan is to ultimately have released versions of Spec that are independent of Clojure / ClojureScript.)

alexmiller16:12:07

we’ve talked about it a few times and so far it has seemed easier to keep cljs spec in cljs rather than in spec.alpha

alexmiller16:12:45

depending on what you mean in the parens, we are either already doing that or it doesn’t make sense :)

alexmiller16:12:40

that is, spec is already a library independent of Clojure. it is released independently and while a particular version of Clojure depends on a particular version of spec, you are free to also override that with a newer version of spec

alexmiller16:12:13

in cljs, obviously that dynamic is different due to its direct inclusion

alexmiller16:12:35

but cljs releases much more frequently, so I don’t think it’s too critical

mfikes16:12:07

@alexmiller Cool. I was thinking that if the separation of spec.alpha from Clojure was only a temporary thing to facilitate the 1.9.0 release, and if it were to be baked in, say 1.10.0, then it would be silly to break spec.alpha out of ClojureScript, given that long-term plan. Sounds like it will always be independent. ClojureScript could go either way on the subject.

alexmiller16:12:27

atm I would say we don’t plan to re-integrate spec into Clojure

alexmiller16:12:50

but I reserve the right to say something different later :)

mfikes16:12:10

Absolutely. It is also still alpha :slightly_smiling_face:

dnolen18:12:02

yes I think given our different release cycle, keeping spec.alpha in ClojureScript directly isn’t much of an issue

mfikes21:12:18

If you brew upgrade node on macOS, bringing it to 9.2.1, then script/test-self-parity only makes it through the first few tests and then abends on one of my computers. I'm going to figure out if this is a ClojureScript issue or a Node regression.

dnolen21:12:26

trying it here with v8.9.1

mfikes22:12:11

Node doesn't just die either, instead of

Ran 356 tests containing 18801 assertions.
0 failures, 0 errors.
I got fewer than the full suite being run, but with 0 failures, 0 errors. It is not reproducible on the same box. Arg. Might be a race condition.

dnolen22:12:32

it works with v8.9.1 here

mfikes22:12:34

Cool. It also works with v9.2.1 here on various boxes, but one was repeatedly exhibiting the "early termination". Will keep digging and trying to repro.

mfikes22:12:01

Here is an example of the self host tests failing under Node. No change other than repeating the test run several times until it occurs:

Testing with Node

Testing self-host.test
WARNING: double already refers to: cljs.core/double being replaced by: cljs.user/double at line 1

Ran 33 tests containing 206 assertions.
0 failures, 0 errors.
x
Full transcript of the run here: https://gist.github.com/mfikes/dc62cc12cb35a23fff5b576809caeafb

dnolen23:12:16

@mfikes cool thanks for digging in