Updated 'Road to Immutability'

Posted August 26, 2021 by Bart Naudts ‐ 1 min read

I've just pushed a major new iteration of the 'Road to Immutability' document.

Section 11 of The Road to Immutability, now titled ‘Immutable Content’, has been completely revised. The names ‘implicitly immutable content’ and ‘support data’ have been dropped, in favour of the more prosaic modifiable and immutable content of a level 2 immutable type. Their definitions are now more obvious. Section 8, ‘Level 2 Immutability’, has been updated accordingly, and has been expanded to explain better how extending types influences immutability.

The changes to the document need to be reflected in the analyser. As for the support classes, this has been done: 5 annotations have been dropped, and the annotations of the support classes have been updated. This is now version 0.3.0, in the development branch.

The coming months will see me updating the analyser itself with respect to the new version of ‘the Road’. I hope to switch to the development branch soon.

The original planning, of having an alpha version of e2immu ready in August 2021, and a beta in November 2021, looks now like a more realistic

  • alpha version: end of 2021
  • beta version: mid 2022

There’s been almost no interaction with other developers on this project, so I set my own deadlines :-)