records are dead long live to ...

forax at univ-mlv.fr forax at univ-mlv.fr
Fri Apr 12 18:54:34 UTC 2019


> De: "Guy Steele" <guy.steele at oracle.com>
> À: "Kevin Bourrillion" <kevinb at google.com>
> Cc: "Remi Forax" <forax at univ-mlv.fr>, "amber-spec-experts"
> <amber-spec-experts at openjdk.java.net>
> Envoyé: Vendredi 12 Avril 2019 20:43:12
> Objet: Re: records are dead long live to ...

>> On Apr 12, 2019, at 2:17 PM, Kevin Bourrillion < [ mailto:kevinb at google.com |
>> kevinb at google.com ] > wrote:

>> On Fri, Apr 12, 2019 at 12:34 AM Remi Forax < [ mailto:forax at univ-mlv.fr |
>> forax at univ-mlv.fr ] > wrote:

>>> At the end of section "Why not "just" do tuples ?", you have this gem,
>>> "A good starting point for thinking about records is that they are nominal
>>> tuples."

>> That is *a* starting point, but I think a barely useful one. Records have
>> semantics, which makes them *worlds* different from tuples. Methods,
>> supertypes, validation, specification... I think it's fair to say that all a
>> record holds is a "tuple", but it's so much more. Record is to tuple as enum is
>> to int.

> Good observation. And also note that Java `record` is to C `struct` as Java
> `enum` is to C `enum`.

Apart from the fact that records are now immutable. 

I had no issue with the previous incarnation of record to be named record, it was even a great name, record is the Pascal equivalent of the C struct, i've seen it as a kind of homage given that i believe the only other thing that Java has from Pascal is its method calling convention. 

Rémi 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/amber-spec-experts/attachments/20190412/50d7d2ee/attachment.html>


More information about the amber-spec-experts mailing list