Skip to content

Commit

Permalink
formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
puredanger committed Oct 27, 2023
1 parent e2d5580 commit 473ee05
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion content/news/2023/10/27/deref.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure

Last week we released https://clojure.org/news/2023/10/20/clojure-1-12-alpha5[Clojure 1.12.0-alpha5] with a change in `lazy-seq` and `delay` to avoid virtual thread pinning in Java 21. Even if you are not using Java 21, this change may affect latency, allocation, or GC. If you are able to test it in the context of an application with known performance profile, we would be very interested in any feedback even if it's just "no change".

I've previously mentioned adding support for a new type hint syntax for array classes (https://clojure.atlassian.net/browse/CLJ-2807[CLJ-2807]). We've decided to expand that to a value syntax for array classes as well so that just as you can use a symbol with class name now to get the class value, you will be able to do the same with array classes. That decision led to some deeper thinking about how that new usage may potentially conflict with symbol namespace mappings (particularly for the primitive array cases) due to the common idiom of using a suffixed `*` to indicate a variant or internal version of a function. I'm not sure we are 100% settled yet, but I think we're going to slightly alter the syntax to make name clashes less likely. Array class symbols will now use the syntax `String-*` and primitives will look like `long-*`. This will be the same in either type hints or in value syntax.
I've previously mentioned adding support for a new type hint syntax for array classes (https://clojure.atlassian.net/browse/CLJ-2807[CLJ-2807]). We've decided to expand that to a value syntax for array classes as well so that just as you can use a symbol with class name now to get the class value, you will be able to do the same with array classes. That decision led to some deeper thinking about how that new usage may potentially conflict with symbol namespace mappings (particularly for the primitive array cases) due to the common idiom of using a suffixed `pass:[*]` to indicate a variant or internal version of a function. I'm not sure we are 100% settled yet, but I think we're going to slightly alter the syntax to make name clashes less likely. Array class symbols will now use the syntax `String-*` and primitives will look like `pass:[long-*]`. This will be the same in either type hints or in value syntax.

Method thunk work has been broken up into a series of smaller tickets (https://clojure.atlassian.net/browse/CLJ-2805[CLJ-2805], https://clojure.atlassian.net/browse/CLJ-2806[CLJ-2806], https://clojure.atlassian.net/browse/CLJ-2793[CLJ-2793]) and been through a couple review cycles, continues to march toward final screening. I don't think there are any open questions there, just a matter of review and code improvement.

Expand Down

0 comments on commit 473ee05

Please sign in to comment.