Fork me on GitHub
#clojure-dev
<
2020-12-10
>
Ben Sless07:12:02

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

Alex Miller (Clojure team)08:12:51

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.

Alex Miller (Clojure team)08:12:19

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

👍 6
🙏 3
Ben Sless08:12:48

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?

Alex Miller (Clojure team)08:12:39

Since Clojure 1.10, it supports >= Java 8

Alex Miller (Clojure team)08:12:35

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 Sless08:12:10

Alright, thanks

ghadi12:12:37

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

👍 3