----- Mail original ----- > De: "Guy Steele" <guy.ste...@oracle.com> > À: "Brian Goetz" <brian.go...@oracle.com> > Cc: "amber-spec-experts" <amber-spec-experts@openjdk.java.net> > Envoyé: Jeudi 15 Mars 2018 20:12:56 > Objet: Re: break seen as a C archaism
>> On Mar 15, 2018, at 2:50 PM, Brian Goetz <brian.go...@oracle.com> wrote: >> >> >>>> We had rejected this earlier for fairly obvious reasons, but let me >>>> ask to get a subjective response: would using "return x" be better? >>> If you are reconsidering options, reconsider "yield", meaning >>> "break current context with this value". >> >> Still feeling a little burned by first time we floated this, but willing to >> try >> another run up the flagpole.... >> >> In Lambda, I used the early "State of the Lambda" drafts as a means to >> test-drive various syntax options. SotL 2/e floated "yield" as the >> get-out-of-lambda card, and I was unprepared for the degree of "you big fat >> stupid idiot, don't you know what yield means" response I got. So we beat a >> hasty retreat from that experiment, temporarily settled on return, and then >> failed to circle back. I still regret the choice of return for lambda. >> >> The primary objection to yield was from the async/await crowd that would >> want us >> to save it for that, but I don't see them as mutually exclusive (nor do I >> think >> async/await is all that likely, especially with the great work happening over >> in Loom). >> >> The loss of using something other than "break" is that now expression and >> statement switches become more obviously different beasts, which might be OK. > > I have to agree that “yield” has too much of a history in the topics of > multithreading and coroutining, giving it all the wrong connotations for our > purpose here. yes ! and if Loom at some point requires a syntax instead of being a pure API, it will be unfortunate. Rémi