Charles Oliver Nutter
headius.bsky.social
Charles Oliver Nutter
@headius.bsky.social
JRuby co-lead, Java champion, Ruby hero, JavaOne Rockstar, international traveler and speaker. Book me for your next event! I depend on your donations and sponsorships! https://github.com/sponsors/headius
If only it were Ruby!
November 4, 2025 at 6:13 PM
In general, "shareable" means "100% immutable" all the way down the object graph. It's certainly a valid way to guarantee thread-safety, but there's no way to opt into mutable state also being shareable, even if it's completely safe. The only reason for this is because CRuby can't handle it.
November 3, 2025 at 7:11 PM
As proof of this: JRuby and TruffleRuby can already parallelize Threads. You can prefer immutable shared state, but you can also manage your own mutable shared state and still get parallelism. You can’t do the latter with Ractors *solely* because CRuby is unable to support that.
November 3, 2025 at 7:04 PM