Fork me on GitHub
#clojure-spec
<
2016-06-25
>
seancorfield01:06:41

Alpha 8 is looking like a great release, based on the commits over the last few days!

Alex Miller (Clojure team)02:06:22

Didn't quite finish everything today as expected so prob early next week

bbloom05:06:52

rather than complain about having to upgrade fipp for new reader/printer forms, i’ll instead boast: open source contribution opportunities! clojure 1.9 functionality PRs welcome 😉

fenton18:06:15

@alexmiller: small typo in spec guide. the description around function specs uses an int? predicate instead of integer?

fenton18:06:50

oh, hmm, couldn't find an int? predicate

Alex Miller (Clojure team)18:06:05

int? is a new predicate in 1.9 that matches any fixed precision integer

gfredericks18:06:23

so in particular not bigints?

fenton18:06:27

ah, good to know.

Alex Miller (Clojure team)18:06:29

It was briefly called long?

gfredericks18:06:47

bigints are the only difference between int? and integer??

bronsa18:06:45

AFAICT yes

gfredericks18:06:39

I wonder why that's considered more useful than the other way

bronsa18:06:57

well there are a number of constructs in clojure that don't work with idxs bigger than Long/MAX_VALUE so I'm guessing int? was provided to cover those use-cases in specs

bronsa18:06:31

guarding against i.e. (range 0 (inc Long/MAX_VALUE))

bronsa18:06:20

(although there are also other constructs that don't work with idx bigger than Integer/MAX_VALUE like dotimes IIRC?)

bronsa18:06:32

nope dotimes accepts longs

bronsa18:06:43

ah, I'm thinking of for and doseq, they're constrained by Collection.count returning int

Alex Miller (Clojure team)19:06:06

Yes widening from just long to other fixed precision was the reason

Alex Miller (Clojure team)19:06:43

In particular to capture int

Alex Miller (Clojure team)19:06:08

Conceptually we would prefer if users primarily focus not on the Java types but on integer fixed vs integer arbitrary precision as the main "types"

mathias_dw19:06:53

probably a dumb question, but I’m having to call s/instrument-all every time I make a change to the code or the specs. Is there a way of automating that, or is my workflow simply wrong?

mathias_dw19:06:21

(or is it maybe some nrepl/cider-related thing?)

Alex Miller (Clojure team)19:06:08

You shouldn't have to do that

mathias_dw19:06:52

ok, thanks. I’ll try without the cider/nrepl stuff

Alex Miller (Clojure team)19:06:19

That was true of the very first release but was fixed early on

mathias_dw19:06:43

I’m using alpha5

Alex Miller (Clojure team)19:06:20

Yeah shouldn't be a problem

Alex Miller (Clojure team)19:06:35

Must be something in the workflow

mathias_dw19:06:51

ok, thanks. Will try to pinpoint it and raise it in the relevant place

gfredericks20:06:14

I'm having trouble with a recursive spec on master; not a problem on alpha7: https://www.refheap.com/120803

gfredericks20:06:33

I scanned the commit messages and didn't see anything suspicious

gfredericks20:06:30

if I had to guess I'd say it's something to do with coll-of suggesting that there's ambiguity

Alex Miller (Clojure team)20:06:48

That code is brand new and on my plate to test more on Monday morning so I will def look at it