Nothing prevents you from writing yield(E) of course -- but you're arguing that foo(a = yield(b), c) should be enough, no extra parens required -- no foo(a = (yield(b)), c). Right?

Yes that's correct.

Pros for yield(E):
- backward compatible

But for this to be true, we would need to use the direct-eval detection hack I mentioned previously.

On the plus side, this would allow for feature detection of generator support, right? (Is there any other way to detect generator support?)

- easier to read (to my eye)
- it "feels" more correct to me in context of the when-using-send- value rule

These are subjective enough there's no point in arguing. I hear ya.

Yes, one man's opinion and experience. If others chimed in claiming the opposite experience, obviously my argument would be moot. But I hope I'm providing a decent "average hacker" POV for you.

Pros for (yield E):
- consistent with python
- doesn't present any is-it-a-function? ambiguities

These are more objective (no look & feel ;-). There is a borrowing from Python. There isn't a function call going on.

Agreed. If look-and-feel weren't factors, I wouldn't have brought it up. ;)

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to