On Aug 13, 2020, at 4:53 PM, [email protected] wrote: > > use it as an anonymous carrier of values to transfer the values from a plain > old class to a representation you can do destructuring on it
Yes, something like that could play a role in reifying a “bundle of names coming out of a block”, just as an object of functional interface reifies a lambda expressions with an ad hoc block (“with a bundle of incoming names and an outgoing value”). Put another way: Anonymous named records have the same information content as the result of a set (unordered) of assignments to typed names. Hmm… Does Java have a syntax for that? Could be sugar for constructing values of that type. In short: I like those anonymous records, and have already proposed some good sugar for creating them. And if you have a API point with named parameters that takes them positionally (the way the JVM likes them), there are various fruitful ways to spread out an anonymous record into the correct argument positions (starting with a new anti-varargs rule, and an extension to MH.invokeWithArguments). And, given that, you *could* (but *shouldn’t*) write that kind of ugly code that Guy was calling “not Java”.
