A peek at the roadmap for pattern matching and more
forax at univ-mlv.fr
forax at univ-mlv.fr
Thu Aug 13 12:25:51 UTC 2020
----- Mail original -----
> De: "John Rose" <john.r.rose at oracle.com>
> À: "Remi Forax" <forax at univ-mlv.fr>
> Cc: "Brian Goetz" <brian.goetz at oracle.com>, "amber-spec-experts" <amber-spec-experts at openjdk.java.net>
> Envoyé: Jeudi 13 Août 2020 01:36:41
> Objet: Re: A peek at the roadmap for pattern matching and more
> On Aug 12, 2020, at 4:28 PM, Remi Forax <forax at univ-mlv.fr> wrote:
>>
>>
>> I know that you have consider something like this, but i prefer making the
>> deconstructor a method returning a tuple at Java level, to be closer to the JVM
>> level.
>> So a syntax more like
>> class Point {
>> int x;
>> int y;
>>
>> (int x, int y) deconstructor {
>> return (this.x, this.y);
>> }
>> }
>>
>> Conceptually, it's also more like the reverse of a constructor, a constructor
>> takes the values from the stack to move them to the heap, a desconstructor
>> takes the value from the heap and move them to the stack.
>
> To be closer to the JVM level we should number our variables, not name them.
> That is, if being closer to the JVM level were so important as to prefer
> positional notations to name-based notations.
I was thinking about closer to the generated classfile, not closer to the VM internals.
>
> One reason to avoid tuples is we’d have to reify them more thoroughly in the
> language, and that seems like busy-work.
It depends if tuples are reified by the VM or not.
>
> The more important reason to avoid tuples is they don’t have named components,
> and the stuff we are looking at these days with records, constructors, and
> deconstructors is *all about names*.
yes, a tuple as a type is a structural type, if we use the now classical move of using a nominal type + some inference rules to represent the type of a tuple,
the record class is a tuple type, so yes it has names the same way an abstract method of a functional interface has a name.
>
> — John
Rémi
More information about the amber-spec-experts
mailing list