On 13 Jul 2022, at 13:23, John Rose wrote:

…The surprising outcome of this is we now have (by my count) five buckets. And I don’t think we mind, because they are all about encapsulation choices.

1. identity = B1
2. better VBC (by-default private companion, by-default atomic) = B2
3. full-flat primitive (explicitly public non-atomic companion) = B3n
4. atomic primitive (explicitly public companion, but no tearing) = B3a 5. internally-flat VBC (private companion, tricky full-flat private vals)

P.S. At a full count there are seven buckets, as I said in the meeting, since a “privatized” companion type can be either package-private (aka. default access) or fully private (nestmate access only). So we have `B = id + val[atomic={yes,no}, access={public,package-private,private}]`. The list above splits sub-cases for package-private out of case 2 and case 5.

At this rate, any bets on how long it takes to get into the double digits? :-)

Reply via email to