RFR(m): 8177290 add copy factory methods for unmodifiable List, Set, Map

John Rose john.r.rose at oracle.com
Sat Nov 18 16:19:55 UTC 2017


On Nov 18, 2017, at 11:16 AM, Brian Goetz <brian.goetz at oracle.com> wrote:
> 
> Use-site static extension methods = bad.  

Right; that wasn't on the table from either Remy or me.
All def-site stuff, so the designer of the defining interface
has full control of the DSL.  JDK-8191530 is def-site extension
methods, a compromise that meets most or all of our requirements.

(Side note:  We could enable third-party DSL stuff with value types
and specialization by using the value object as a view, and the
real type of the extended object/value as a generic parameter.
The value type acts just like a C++ smart pointer and can warp
the original API around however it likes.)


> Sent from my MacBook Wheel
> 
> On Nov 18, 2017, at 11:12 AM, John Rose <john.r.rose at oracle.com <mailto:john.r.rose at oracle.com>> wrote:
> 
>> On Nov 18, 2017, at 11:10 AM, Brian Goetz <brian.goetz at oracle.com <mailto:brian.goetz at oracle.com>> wrote:
>>> 
>>> I'm with Remi on this.  
>> 
>> Which suggestion of his two?  Blue-collar language with bad DSLs,
>> or final defaults?
>> 
>> — John



More information about the core-libs-dev mailing list