<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <font size="4" face="monospace">While such a feature is possible, I
      am not particularly excited about it for several reasons.  If the
      goal is "I want to construct using named instead of position
      arguments" (which I think is your goal), it's a pretty verbose
      syntax; a better one would be <br>
      <br>
          new R(a: 1, b: 2)<br>
      <br>
      But that's a much smaller concern.  The bigger one is that I don't
      think the language is improved by having a named parameter
      mechanism for records, but for nothing else (not for instantiating
      class instances, not for invoking methods.)  While it might seem
      "better than nothing", having two different ways to do something,
      but one of them only works in narrow situations, is as likely to
      be frustrating than beneficial.  If the payoff is big enough, then
      it might be a possibility, but "invocation by parameter name" is
      nowhere near that bar.  <br>
      <br>
      Finally, if it works for records but not for classes, it makes it
      harder to refactor from records to classes, since there will be
      use sites that have to be adjusted.  <br>
      <br>
      So I think for the time being, the answer is "no", though if we
      run out of things to work on, we might reconsider.<br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 2/29/2024 4:34 PM, Swaranga Sarma
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAGZD2TB-V5SddYQHNoPtF_ivyhw5AwkZtQo3pLdu801nXaELHg@mail.gmail.com">
      
      <div dir="ltr">
        <div>The JEP looks really promising. However I am wondering if
          there will be a separate JEP for creating new records from
          scratch with similar syntax.</div>
        <div><br>
        </div>
        <div>The current JEP states that its goals are to enable
          creating records from an existing record and for that it seems
          sufficient. But I would also love to be able to create new
          records from scratch using the same syntax. Something like:<br>
        </div>
        <div><br>
        </div>
        <div>var circle = new Circle with {</div>
        <div>  radius = 0.5f;</div>
        <div>  center = new Center with {</div>
        <div>    x = 0;</div>
        <div>    y = -1;</div>
        <div>    z = 8;<br>
        </div>
        <div>  };<br>
        </div>
        <div>};</div>
        <div><br>
        </div>
        <div>Originally I had asked Brian Goetz about record literals
          and they seemed like a possibility but withers seem like a
          more general feature so I am hoping something like this would
          be supported in the future.<br>
        </div>
        <div><br>
        </div>
        <div>
          <div>
            <div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">
              <div dir="ltr">
                <div>Regards<br>
                </div>
                <div>Swaranga Sarma<br>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>