clojure-dev

Issues: https://clojure.atlassian.net/browse/CLJ | Guide: https://insideclojure.org/2015/05/01/contributing-clojure/
Ben Sless 2020-12-10T07:13:02.334100Z

The primitive wrapper classes getting designated as value based in Java 16 How should this affect Clojure? https://openjdk.java.net/jeps/390

alexmiller 2020-12-10T08:14:51.335500Z

without really doing an audit, I can't say for certain, but I would be surprised if Clojure itself is using or emitting code that called primitive wrapper constructors, or synchronized on primitive wrappers, or relied on equal but not identicalness. If so, those should all be easily fixable.

alexmiller 2020-12-10T08:19:19.337900Z

the differences between primitives and primitive wrapper objects are one of the most pervasively painful things across the implementation of Clojure. probably nothing but upside for us in the greater direction they're heading as value-based stuff is where Clojure has always lived

👍 2
🙏 1
Ben Sless 2020-12-10T08:40:48.339300Z

I see the value classes as an absolute win, just hoping there isn't any cat in the bag there. Wondering how Clojure will leverage it in the future. Theoretically Java8 is in EOL but Clojure still supports even older versions, no?

alexmiller 2020-12-10T08:43:25.339500Z

no

alexmiller 2020-12-10T08:43:39.339800Z

Since Clojure 1.10, it supports >= Java 8

alexmiller 2020-12-10T08:44:35.340700Z

right now, as of survey last year, Java 8 is still the most common java used with Clojure. until that changes, I don't see moving to greater min Java

Ben Sless 2020-12-10T08:46:10.341Z

Alright, thanks

ghadi 2020-12-10T12:52:37.342200Z

we removed all Clojure usages of primitive wrapper constructors in 1.10 https://github.com/clojure/clojure/commit/fb916808669ef65dce5dfe58e23d4a902253ca55 those have been deprecated since JDK9

👍 1