Re: JVMS draft for L-world value types with support for nullability

2018-02-07 Thread Karen Kinnear
Paul, Just to make sure we are in sync for now: I think we are all in agreement that current Enums can not migrate to be value types: 1. enums have identity 2. enums have java.lang.Enum abstract class as super-class, not java.lang.Object 3. there is no clear default value 4. enums have mutable

Re: JVMS draft for L-world value types with support for nullability

2018-02-05 Thread Karen Kinnear
Frederic, Detailed review of the updated JVMS draft - many are just minor typos/edits. A couple are bigger. Many thanks for the latest changes. thanks, Karen 1. 2.4 Reference Types and Values " whose all instances are identity-less and immutable" "whose" -> "for which" 2. 2.11.5 Instance

Re: JVMS draft for L-world value types with support for nullability

2018-02-05 Thread Frederic Parain
Here’s an update of the JVMS draft: http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-4.pdf with the following changes: * Renamed ACC_NON_NULLABLE with ACC_FLATTENABLE * Removed restriction that ACC_FLATTENABLE cannot be used on static fields * Added rules about circularity

Re: JVMS draft for L-world value types with support for nullability

2018-01-31 Thread Frederic Parain
Hi Paul, > On Jan 31, 2018, at 15:50, Paul Sandoz wrote: > > Hi Fred, > > Some basic questions, which might be because the specification is > transitioning from value-based to value classes. > > >> The ACC_ENUM flag indicates that this class or its superclass is

JVMS draft for L-world value types with support for nullability

2018-01-31 Thread Frederic Parain
Here’s a draft of the JVMS proposing a way to implement the L-world value types, with support for value-based classes migration to value classes (essentially, support for nullability): http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-3.pdf The assumptions and key properties are listed