generic specialization design discussion
Brian Goetz
brian.goetz at oracle.com
Tue Apr 9 17:04:36 UTC 2019
OK, let’s make this problem a little simpler. The question of terminology in the JVMS is harder, but we have a syntax decision to make at the source code level. So far its been proposed we replace “value class” with
inline class Foo { }
In addition to liking the sound of it, I like that it is more “modifer-y” than “value”, meaning that it could conceivably be applied to other entities:
inline record R(int a);
inline enum Foo { A, B };
> On Apr 8, 2019, at 7:50 PM, Doug Lea <dl at cs.oswego.edu> wrote:
>
> On 4/8/19 6:44 PM, John Rose wrote:
>
>> If we move terms around so "value" gets replaced by "inline",
>> and "reference" by "indirect", only the first two lines are
>> affected:
>>
>> “inline object”, “indirect object” (also inline or indirect instance)
>> “inline class”, “indirect class” (also inline or indirect type)
>>
>
> It would be nice not to use new terms for old concepts (even if new to
> Java). For alternative terminology originally stemming from similar
> struggles to make such distinctions, see UML "Composition" vs
> "aggregation" (also vs "association"). Wikipedia has some definitions:
> https://en.wikipedia.org/wiki/Class_diagram#Aggregation
>
> The UML specs say more but behind wall at https://www.omg.org/spec/UML
>
> -Doug
>
More information about the valhalla-spec-experts
mailing list