Yes, that’s a promising direction. And this is surely the motivation why the
C# folks picked “struct”; they wanted to carry the connotation that this is a
structure that is inlined. Problem is, the word “struct” is already so heavily
polluted by what it means in C. So perhaps something like:
inline class V { … }
This says than a V can be inlined into things that contain a V — other classes
and arrays. It also kind of suggests that this thing has no intrinsic
identity.
A possible downside of this choice is that one might mistake it for meaning
“its methods are inlined”. Which is actually a little true, in that the
methods are implicitly static and therefore more amenable to dynamic inlining.
So that might actually be OK.
Others?
> On Apr 8, 2019, at 2:25 PM, Kevin Bourrillion <[email protected]> wrote:
>
> I'd suggest the name should in some way allude to the inline/compact/flat
> memory layout, because that is the distinguishing feature of these new things
> compared to anything else you can do in Java. And it is what people should be
> thinking about as they decide whether a new class should use this.
>
>
> On Mon, Apr 8, 2019 at 10:02 AM Brian Goetz <[email protected]
> <mailto:[email protected]>> wrote:
> The slide deck contains a list of terminology. I’d like to posit that the
> most confusion-reducing thing we could do is come up with another word for
> value types/classes/instances, since the word “value” is already used to
> describe primitives and references themselves. This is a good time to see if
> there are better names available.
>
> So for this thread only, we’re turning on the syntax light to discuss what
> might be a better name for the abstraction currently known as “value
> classes”.
>
>
>
> > On Mar 29, 2019, at 12:08 PM, John Rose <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> > This week I gave some presentations of my current thinking
> > about specializations to people (from Oracle and IBM) gathered
> > in Burlington. Here it is FTR. If you read it you will find lots
> > of questions, as well as requirements and tentative answers.
> >
> > http://cr.openjdk.java.net/~jrose/pres/201903-TemplateDesign.pdf
> > <http://cr.openjdk.java.net/~jrose/pres/201903-TemplateDesign.pdf>
> >
> > This is a checkpoint. I have more tentative answers on the
> > drawing board that didn't fit into the slide deck. Stay tuned.
> >
> > — John
>
>
>
> --
> Kevin Bourrillion | Java Librarian | Google, Inc. | [email protected]
> <mailto:[email protected]>