On Nov 18, 2017, at 11:16 AM, Brian Goetz <brian.go...@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.r...@oracle.com > <mailto:john.r.r...@oracle.com>> wrote: > >> On Nov 18, 2017, at 11:10 AM, Brian Goetz <brian.go...@oracle.com >> <mailto:brian.go...@oracle.com>> wrote: >>> >>> I'm with Remi on this. >> >> Which suggestion of his two? Blue-collar language with bad DSLs, >> or final defaults? >> >> — John