Fork me on GitHub
#cljs-dev
<
2018-11-14
>
mfikes12:11:42

Maybe at some point it will make sense to begin porting https://github.com/clojure/spec-alpha2 We could revisit and decide whether to keep it in ClojureScript or whether it is started as a separate repo, or some code under main/cljs in that repo (presuming ClojureScript itself is sufficiently stable now to consider such a path) Also if we do that, perhaps we have an opportunity to revise the alias used for stc in cljs.spec.test.alpha2/check to be consistent with what is used in Clojure (either exactly the same, or prefixed with cljs)

borkdude12:11:48

wow, spec-alpha2?

mfikes12:11:35

Get with the program Borkdude!

mfikes12:11:52

Yeah, I heard Alex mention it somewhere 🙂

mfikes12:11:08

My hope is for data-driven specs.

☝️ 12
mpenet12:11:14

so far it's nothing more than a fork with some renaming, but I guess that'll be a thing soon

mfikes12:11:44

If we attempt a separate implementation from ClojureScript proper, if it fails (because it just isn't working out), we could move it into ClojureScript proper

borkdude12:11:18

I think it may make sense to follow the library pattern that clojure itself has

borkdude12:11:43

that way it may also be lighter to develop/test/patch?

mfikes12:11:43

I can't recall the history, but it may have been the case that Spec was in Clojure proper when it was ported to ClojureScript.

mfikes12:11:02

Since the namespace name is something like clojure.spec-alpha2 we may not yet have to deal with the collision between the gen var and namespace

mfikes12:11:58

Or, spec-alpha2's Clojure design could be tweaked for portability to ClojureScript eliminating the collision

Alex Miller (Clojure team)12:11:41

spec-alpha2 is the next version of spec and I’ve made a substantial commit this week (although changes are internal)

Alex Miller (Clojure team)13:11:04

But I would wait till it settles before chasing it

dnolen16:11:06

personally, I don’t really think there’s any benefit to splitting it out

dnolen16:11:20

far as I can tell that’s mostly about Clojure’s release cycle - which is not an issue we have

mfikes16:11:18

Perhaps because ClojureScript touches on so much “ecosystem” stuff, it will always need a shorter release cycle. (The Monday discussion.)

dnolen16:11:40

well we don’t have the release cycle adoption issue that Clojure has because of semantic versioning

mfikes19:11:59

Oh, I suppose we will encounter the gen collision sooner. (I was wrong above.) There exists a clojure.spec-alpha2.gen namespace and a clojure.spec-alpha2/gen var Our old solution was to rename the namespace in the port to something like cljs.spec-alpha2.gen-impl IIRC.

danielcompton22:11:39

We have just upgraded our projects to the latest ClojureScript and enabled aot-cache and parallel-builds. On Windows we've noticed a bad interaction between these two flags. Either one on it's own works fine, but together we get a variety of strange compiler errors about redefining const, missing refers, e.t.c. Is there any known tickets for this? I couldn't see any

mfikes22:11:28

I don’t recall ever seeing a ticket like that

mfikes22:11:37

Perhaps it is a regression?