<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Remi,</div><div dir="ltr"><br></div><div dir="ltr">On Tue, Apr 23, 2019 at 2:54 PM Remi Forax <<a href="mailto:forax@univ-mlv.fr" target="_blank">forax@univ-mlv.fr</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><div><span style="font-size:12pt">Here is my implementation</span><br></div><div><a href="https://github.com/forax/exotic/blob/master/src/main/java/com.github.forax.exotic/com/github/forax/exotic/ObjectSupport.java" target="_blank">https://github.com/forax/exotic/blob/master/src/main/java/com.github.forax.exotic/com/github/forax/exotic/ObjectSupport.java</a></div></div></div></blockquote><div><br></div><div>Thanks for the pointer! I'll add a note to the prior art section.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><div>I disagree that it has to be included in the JDK, because as you said there is no typesafe way to represent a field at compile time so any APIs will be either typesafe but slow or less typesafe and faster*.</div><div><br></div><div>* It doesn't seems logical that if an API is less typesafe, it can be faster at runtime. It's because if you have an API based on strings you have less type info at compile time but more type info at runtime thanks to the reflection. By contrast, an API based on lambdas will be more typesafe but because you can not do reflection on lambdas, so you have less type info at runtime.</div></div></div></blockquote><div><br></div><div>To maybe clarify the mention of performance in the 'non-goals' section, it's more that it's a long term goal than it is a non-goal. Ultimately we want the performance to be competitive with hand-written implementations, perhaps through some combination of intensification, field references, and lambda cracking.</div><div><br></div><div>For the initial discussion I wanted to consider what the best (e.g. most readable and ergonomic) library version of the feature would look like.</div></div></div></div>