-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Editorial: Recast NormalCompletion + ThrowCompletion #2386
Conversation
spec.html
Outdated
<h1>NormalCompletion</h1> | ||
<p>The abstract operation NormalCompletion with a single _argument_, such as:</p> | ||
<h1>NormalCompletion ( _value_ )</h1> | ||
<p>The abstract operation NormalCompletion takes argument _value_ (an ECMAScript language value or ~empty~). It performs the following steps when called:</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>The abstract operation NormalCompletion takes argument _value_ (an ECMAScript language value or ~empty~). It performs the following steps when called:</p> | |
<p>The abstract operation NormalCompletion takes argument _value_. It performs the following steps when called:</p> |
Given that the type isn't accurate, best to leave it out for now, I think (even though the inaccuracy exists elsewhere).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Urgh, okay, done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Normal completions hold values which are not ES language values or ~empty~
. The table you've screenshotted is wrong; that's the "elsewhere" I was referring to.
(For example, PropertyBindingInitialization returns a completion record holding a list. jmdyck has a larger list of examples here.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For explicit calls to NormalCompletion, I suspect an ECMAScript language value or ~empty~
actually is accurate. However, there are also implicit calls to NormalCompletion, and those get us into issue #496. I.e. the spec is inconsistent, and one possible resolution of that inconsistency is that the [[Value]]
field of a completion record can be many more things than just an ECMAScript language value or ~empty~
.
3d0c24c
to
7a79833
Compare
force-pushed to:
|
... as regular abstract operations. See - tc39#1142 (comment) and following - tc39#2384 (comment) and following
68b2b91
to
f72dd16
Compare
... as regular abstract operations. See - tc39#1142 (comment) and following - tc39#2384 (comment) and following
... as regular abstract operations.
See