Declarative Immutability in Java

John Crowley jdcrowley at
Wed May 11 00:49:10 UTC 2016

Hi All,

This has bugged me for years as a missing ingredient in Java, and was finally able to reduce it to a concrete proposal.

If anyone has interest and bandwidth, would like to have some experts review this and provide a sanity check - is this complete, consistent, useful?

Summary from the beginning of the abstract:

This note proposes a pervasive mechanism to declare that variables, object instances, and methods are mutable or immutable within a standard object-oriented language.

The goal of this research is to make the declaration of mutability an integral part of the type structure of the language. This allows the developer to declare, and the reader (and compiler) to determine, if a variable or object instance is mutable or immutable within a specific context, or is immutable throughout the application.

The full document is at - <>.

Sorry for the overall length - could only attack this as a mechanism which is pervasive throughout the language.

Thanks for any help, and am available for questions or discussion.

John Crowley
Westport, CT

More information about the adoption-discuss mailing list