Alternative to the suffix .val and .ref in JEP 401: Primitive Objects
Remi Forax
forax at univ-mlv.fr
Wed May 12 13:46:33 UTC 2021
----- Mail original -----
> De: "Anderson Vasconcelos Pires" <andvasp at gmail.com>
> À: "valhalla-dev" <valhalla-dev at openjdk.java.net>
> Envoyé: Mercredi 12 Mai 2021 04:51:04
> Objet: Alternative to the suffix .val and .ref in JEP 401: Primitive Objects
> Hi guys,
Hi
>
> I saw Michael Kuhlmann's e-mail [1] where he quotes:
>
> "The suffixes .ref and .val don't fit into our concept of class names, they
> look ugly and can easily be mixed up."
>
> I have no complaints about them. But I believe it would be better, *if
> possible*, not to use them.
>
> I believe it would be better to use the operator "?" instead of .ref.
> because it can be used when the "null safety" feature comes to Java. :)
>
> If it is necessary to represent the .val, the operator "!" could be a
> possibility to help.
>
> Probably this has already been discussed, but unfortunately is not so easy
> to find out in the archives e-mail.
We have used the notation V? in the past, the JVMS language submit 2019 was the point were we decide to stop using it for different reasons, here is a kind of summary why
https://mail.openjdk.java.net/pipermail/valhalla-spec-experts/2019-August/001096.html
More recently, we have explored the fact that some primitive classes may still want to be nullable, allowing null to be assigned to a variable of type Foo.val,
this obviously does not work well is Foo.val is written Foo!
So dividing ref/val types along the axis of the nullabbility is a kind of dead end.
[...]
> Kind regards,
> Anderson.
regards,
Rémi
More information about the valhalla-dev
mailing list