You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kassing edited this page Mar 30, 2026
·
1 revision
See http://c2.com/cgi/wiki?ImmutableValue for a quick intro on what immutable data structures are and why they're (often) a good idea. The AProVE implementation is described in the following:
In case you are using data structures like maps, sets, pairs etc. which you want to be immutable, you are recommended to use the corresponding classes from immutables.Immutable to encapsulate your objects. Furthermore, the interface immutables.Immutable.Immutable is supposed to be implemented if you want to indicate immutability of your class.
The implementation (previously maintained as a separate mutables project) is now bundled directly inside the aprove repository. No separate checkout is needed. The immutable data structures are a lightweight extension of the java.util package — use these classes whenever you want to signal immutability at the type level.
Note that you must rebuild after pulling changes that touch the immutables package!