<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="direction: ltr; text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 16px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
Hello amber-dev, amber-spec-experts,</div>
<div style="direction: ltr; text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 16px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
I wanted to share some emerging thoughts and possible directions regarding the flexibility and expressiveness of conversions in the Java language. Given recent interest in the positioning of conversions in JEP 507, it seemed a timely opportunity to share this
ongoing analysis. This is especially relevant as Java continues to evolve its pattern matching facilities and looks ahead to Project Valhalla.</div>
<div style="direction: ltr; text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 16px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
The framework proposed by JEP 507 is more than just a cleanup of existing rules. It's a necessary precursor as the language moves towards enabling user-defined conversions and supporting richer numeric types. These planned features will fundamentally expand
how values can be expressed and composed in Java. For a look ahead, I recommend these recent JVMLS presentations:</div>
<ul class="elementToProof" style="direction: ltr; text-align: left; margin-top: 0px; margin-bottom: 0.7em;" data-line="17">
<li style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0); direction: ltr;">
<span role="presentation" style="color: rgb(0, 106, 177);"><a style="color: rgb(0, 106, 177);" data-href="https://www.youtube.com/watch?v=Gz7Or9C0TpM" data-auth="NotApplicable" class="OWAAutoLink" id="OWA7b4d1257-69ca-d053-6405-10efaff96ca9" href="https://www.youtube.com/watch?v=Gz7Or9C0TpM">Growing
the Java Language</a></span></li><li style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0); direction: ltr;">
<div style="color: rgb(0, 106, 177);" role="presentation"><a style="color: rgb(0, 106, 177);" data-href="https://www.youtube.com/watch?v=xCdJb_zI5us" data-auth="NotApplicable" class="OWAAutoLink" id="OWAc930edbb-d2a2-2066-93c4-22d0c6b160ef" href="https://www.youtube.com/watch?v=xCdJb_zI5us">Paths
to Support Additional Numeric Types on the Java Platform</a></div>
</li></ul>
<div style="direction: ltr; text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 16px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
As we continue to evolve towards value types and numeric types, it becomes clear that the framework for conversions, which stood us well when we only had eight primitive types, needs to be shored up somewhat. Attached is a rough exploration of the issues surrounding
shoring up the framework for conversions so that it can support these new directions for Java:</div>
<ul class="elementToProof" style="direction: ltr; text-align: left; margin-top: 0px; margin-bottom: 0.7em;" data-line="29">
<li style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0); direction: ltr;">
<div role="presentation"><a data-auth="NotApplicable" title="https://cr.openjdk.org/~abimpoudis/posts/amber-design-chapter5.html" class="OWAAutoLink" id="OWAf3bd3e70-6ac4-a9f0-fb50-7ca72d890e10" href="https://cr.openjdk.org/~abimpoudis/posts/amber-design-chapter5.html">Towards
a Future-Proof Chapter 5: A JLS Refactoring Initiative</a></div>
</li></ul>
<div style="direction: ltr; text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 16px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 11pt; color: rgb(0, 0, 0);" class="elementToProof">
Best regards,<br>
Angelos</div>
<div class="elementToProof"><br>
</div>
<div class="elementToProof"><br>
</div>
</body>
</html>