<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hi Constantine, and thank you for your feedback.</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
During the prototyping phase, we tried a large number of various names, one of which was 'Lazy'. We ultimately went for  <code>LazyConstant</code> because it is more descriptive (after all, a
<code>Lazy </code>class, as implemented in many third-party libraries, does not provide constant folding, at-most-once initialization, etc.). Another aspect is that it connects to the lazy collections (which also provide said properties) and also the named
 picked is relevant to potential future JDK constructs.</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
If you want, you can create your own class that is named Lazy and that has the same properties as LazyConstant::get:<br>
<br>
<span style="font-family: "Aptos Mono", Aptos_EmbeddedFont, Aptos_MSFontService, monospace;">record Lazy<T>(LazyConstant<T> underlying) implements Supplier<T> {<br>
   @Override<br>
   public T get() { return underlying.get(); }<br>
   <br>
   static <T> Lazy<T> of(Supplier<? extends T> computingFunction) {<br>
       return new Lazy<>(LazyConstant.<i>of</i>(computingFunction));<br>
   }<br>
}</span></div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Best, Per</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> core-libs-dev <core-libs-dev-retn@openjdk.org> on behalf of Constantine Plotnikov <constantine.plotnikov@gmail.com><br>
<b>Sent:</b> Wednesday, September 24, 2025 9:10 PM<br>
<b>To:</b> core-libs-dev@openjdk.org <core-libs-dev@openjdk.org><br>
<b>Subject:</b> Feedback on JEP draft: Lazy Constants (Second Preview)</font>
<div> </div>
</div>
<div>
<div dir="ltr">Hello!
<div><br>
</div>
<div>It is nice to have a more easy to understand name for LazyConstant. However, I would like it to be simplified further to "Lazy" instead of "LazyConstant". The name `LazyConstant` is just too long and it will pollute method signatures and field declarations.
 While there might be other implementations of a lazy value concept, this is a good and sensible one and it is what people usually expect from a lazy value. This is a valid design choice for a lazy value like being a mutable is a design choice for list type.
 If people want other lazy semantics, they could use another package for their package name.</div>
<div><br>
</div>
<div>"LazyConstant" is possibly more explicit, but "Lazy" is much better from the aesthetic point of view. And in both cases people have to learn a new name and associate semantics with it. Please allow code to be more beautiful.</div>
<div><br>
</div>
<div>Best Regards,</div>
<div>Konstantin Plotnikov</div>
</div>
</div>
</body>
</html>