<div dir="ltr"><div class="gmail_default" style="font-family:monospace">Hello Per,</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">Thank you for the response!</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">I'm afraid I don't follow. Could you demonstrate what you mean?</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">Thank you for your time and help!</div><div class="gmail_default" style="font-family:monospace">David Alayachew<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 31, 2023 at 3:05 AM Per-Ake Minborg <<a href="mailto:per-ake.minborg@oracle.com">per-ake.minborg@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg23388217874826487">




<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi David. <br>
<br>
Thanks for the encouragement.<br>
<br>
You can actually *reference* CC objects in a circular way as long as you do not create circularity in the *evaluation* of CC objects. So, it is, for example, perfectly legal to query if a CC is bound via the isBound() method in a circular way.<br>
<br>
Just to remind you, initialization can only be made at most once per CC instance/element.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Best, Per</div>
<div id="m_23388217874826487appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="m_23388217874826487divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> David Alayachew <<a href="mailto:davidalayachew@gmail.com" target="_blank">davidalayachew@gmail.com</a>><br>
<b>Sent:</b> Thursday, July 27, 2023 7:27 PM<br>
<b>To:</b> Per-Ake Minborg <<a href="mailto:per-ake.minborg@oracle.com" target="_blank">per-ake.minborg@oracle.com</a>><br>
<b>Cc:</b> <a href="mailto:leyden-dev@openjdk.org" target="_blank">leyden-dev@openjdk.org</a> <<a href="mailto:leyden-dev@openjdk.org" target="_blank">leyden-dev@openjdk.org</a>><br>
<b>Subject:</b> [External] : Re: Draft JEP Announcement: "Computed Constants"</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div style="font-family:monospace">Hello Per,<br>
<br>
Thank you for posting this JEP!<br>
<br>
It looks great. The solution is concise, clear, and simple, and any complaints I have about verbosity can be mostly addressed with var. And that list suggestion was especially nice. That's very neat.<br>
<br>
I'd like to ask about the safety point. I certainly understand the reason why it exists -- some developers will inadvertently create a circular reference and end up causing problems.<br>
<br>
However, I see a lot of utility for circular references too. Any chance that we could allow devs to opt-in to circular references?<br>
<br>
Earlier this month, I started 2 threads that were broaching the subject of a very similar pain point to this one. Here they both are.<br>
<br>
<a href="https://mail.openjdk.org/pipermail/amber-dev/2023-July/008129.html" target="_blank">https://mail.openjdk.org/pipermail/amber-dev/2023-July/008129.html</a><br>
<br>
<a href="https://mail.openjdk.org/pipermail/amber-dev/2023-July/008154.html" target="_blank">https://mail.openjdk.org/pipermail/amber-dev/2023-July/008154.html</a><br>
<br>
I'm curious how this Computed Constant solution would work out for the problem I have. But in order for it to work, it would need to enable circular references, hence my question.<br>
<br>
But even without it, I see a lot of utility for this tool. I'm excited to get to work prototyping with it.<br>
<br>
Thank you for your time and help!<br>
David Alayachew<br>
</div>
</div>
</div>
</div>

</div></blockquote></div>