We're updating the issue view to help you get more done. 

int? predicates inconsistent with Clojure

Description

This ClojureScript change
https://github.com/clojure/clojurescript/commit/bcf60ce194e5292fbc5c4b2d89dfc5a7b886b94c
tracked this Clojure change
https://github.com/clojure/clojure/commit/20f67081b7654e44e960defb1e4e491c3a0c2c8b

A consequence is that int? is satisfied by goog.math.Integer which is not fixed-precision.
Also, it creates a situation where it is possible to have values that satisfy int? but don't satisfy integer? or number?. (Note that this also affects things like pos-int?.)

I'd propose two alternative approaches to fix this that we can debate:

Alternative A: Simply remove the goog.math items from int? and friends.

Alternative B: Have goog.math.Long values satisfy number?, integer?, and int? and have goog.math.Integer values satisfy number? and integer?.

In either case, the docstrings should be updated.

I'll attached two concrete patches for consideration / debate.

Environment

None

Status

Assignee

Unassigned

Reporter

Mike Fikes

Labels

None

Approval

None

Patch

Code

Priority

Major