2011/11/11 David Herman <dher...@mozilla.com>:
> On Nov 11, 2011, at 3:48 AM, François REMY wrote:
>
>> I think you strongly underestimate the "distinction" problem. ... It's 
>> completelty unclear to me. If there's no way to tell what the "return 
>> statement" of the block is, there's no way to implement your proposal.
>
> It's actually quite easy to implement Dmitry's proposal, because it's already 
> specified by the ECMAScript semantics! All statements can produce completion 
> values. You can test this yourself: take any statement, quote it as a string, 
> and put it in eval, and you'll get a value (if it doesn't loop infinitely, 
> exit the program, or throw an exception, of course).

If statements as expressions goes forward, we should look into
tweaking completion values.

IMHO, a code maintainer who sees

    resource = ..., foo(resource)

would expect to be able to wrap the use of resource in a try finally thus

    resource = ..., (try { foo(resource) } finally { release(resource) })

without changing the completion value of the expression.
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to