Yield as contextual keyword

Doug Lea dl at cs.oswego.edu
Mon May 27 15:54:28 UTC 2019


On 5/27/19 11:24 AM, Brian Goetz wrote:
> This is really two questions.  We could have a non-ambiguous keyword (eg break-from-expression-switch); that’s separate from the keyword vs operator story.  
> 
> To the latter, I think the simple answer is: all existing control flow operations (return, throw, break, etc) are words.  This does not seem sufficiently different to change paradigms by creating an operator.  

Well, there's the main control flow operator ";", plus "?...:" and "->".

> 
> To the former, this is a trade off between spec complexity and reading clarity.  To this, the question of whether this is a good trade off is a reasonable one.  If the complexity can be reasonably bounded, I think most people prefer a new verb to the set of things that can be constructed with real unambiguous keywords, but this is surely subjective. 
> 

(At the risk of concurrent programmers subjectively factionalizing into
an Anyone But Yield movement for value-producing blocks to avoid
misreading code.)

Anyway, the main point of writing was a CSR-member-style plea for
empirical checks of impact as a part of due diligence.


-Doug


> Sent from my MacBook Wheel
> 
>> On May 27, 2019, at 4:06 PM, Doug Lea <dl at cs.oswego.edu> wrote:
>>
>>
>> I don't enjoy being the token curmudgeon here, but I find it
>> increasingly hard to appreciate why a non-ambiguous choice (prefix "^")
>> with precedence in related languages should be rejected in favor of one
>> requiring context-sensitive grammar mangling with some known odd
>> consequences. At the very least, could someone help check as-yet-unknown
>> impact by using candidate parsers on large source corpuses (for example
>> http://groups.inf.ed.ac.uk/cup/javaGithub/, google-internal, etc)?
>>
>> -Doug
>>
>>
> 
> 




More information about the amber-spec-observers mailing list