Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Issue 498873003: async/await, async*, sync* and yield (Closed)

Created:
6 years, 4 months ago by gbracha
Modified:
6 years, 3 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

async/await, async*, sync* and yield Committed: https://code.google.com/p/dart/source/detail?r=40052

Patch Set 1 #

Patch Set 2 : #

Total comments: 18

Patch Set 3 : #

Total comments: 32

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+410 lines, -101 lines) Patch
M docs/language/dartLangSpec.tex View 1 2 3 4 5 44 chunks +410 lines, -101 lines 4 comments Download

Messages

Total messages: 23 (1 generated)
gbracha
This CL integrates the complete spec for async/await and friends into the Dart spec.
6 years, 4 months ago (2014-08-22 22:17:06 UTC) #1
gbracha
On 2014/08/22 22:17:06, gbracha wrote: > This CL integrates the complete spec for async/await and ...
6 years, 4 months ago (2014-08-22 22:49:11 UTC) #2
erik.meijer
On 2014/08/22 22:17:06, gbracha wrote: > This CL integrates the complete spec for async/await and ...
6 years, 4 months ago (2014-08-24 19:10:50 UTC) #3
gbracha
On 2014/08/24 19:10:50, erik.meijer wrote: > On 2014/08/22 22:17:06, gbracha wrote: > > This CL ...
6 years, 3 months ago (2014-08-27 18:06:32 UTC) #4
gbracha
Ping? I know it is a rather complex change, but it has essentially been reviewed ...
6 years, 3 months ago (2014-08-27 18:07:55 UTC) #5
Lasse Reichstein Nielsen
Partial review. https://codereview.chromium.org/498873003/diff/20001/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/498873003/diff/20001/docs/language/dartLangSpec.tex#newcode505 docs/language/dartLangSpec.tex:505: \item of the form \code{=$>$ $e$} which ...
6 years, 3 months ago (2014-08-28 14:35:49 UTC) #6
gbracha
A few tweaks in response to Lasse's review. And a few minor corrections I encountered. ...
6 years, 3 months ago (2014-08-28 21:52:08 UTC) #7
floitsch
floitsch@google.com changed reviewers: + floitsch@google.com
6 years, 3 months ago (2014-08-29 09:08:21 UTC) #8
floitsch
DBC. I haven't finished reading the remainder of the changes, but here is a first ...
6 years, 3 months ago (2014-08-29 09:08:22 UTC) #9
Bob Nystrom
rnystrom@google.com changed reviewers: + rnystrom@google.com
6 years, 3 months ago (2014-08-29 16:35:33 UTC) #10
Bob Nystrom
https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex#newcode3116 docs/language/dartLangSpec.tex:3116: If $f$ is marked \ASYNC{} (\ref{functions}), then a fresh ...
6 years, 3 months ago (2014-08-29 16:35:33 UTC) #11
gbracha
On 2014/08/29 16:35:33, Bob Nystrom wrote: > https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex > File docs/language/dartLangSpec.tex (right): > > https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex#newcode3116 ...
6 years, 3 months ago (2014-08-29 17:31:01 UTC) #12
gbracha
On 2014/08/29 16:35:33, Bob Nystrom wrote: > https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex > File docs/language/dartLangSpec.tex (right): > > https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex#newcode3116 ...
6 years, 3 months ago (2014-08-29 17:31:02 UTC) #13
nweiz
https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex#newcode3116 docs/language/dartLangSpec.tex:3116: If $f$ is marked \ASYNC{} (\ref{functions}), then a fresh ...
6 years, 3 months ago (2014-08-29 17:35:17 UTC) #15
Lasse Reichstein Nielsen
Comments up to, but not including, "yield". https://codereview.chromium.org/498873003/diff/20001/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/498873003/diff/20001/docs/language/dartLangSpec.tex#newcode3070 docs/language/dartLangSpec.tex:3070: If $f$ ...
6 years, 3 months ago (2014-09-02 13:00:09 UTC) #16
gbracha
Revised some warnings in response to feedback. https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex#newcode3116 docs/language/dartLangSpec.tex:3116: If $f$ ...
6 years, 3 months ago (2014-09-03 17:40:24 UTC) #17
gbracha
Responses to Lasse's comments. https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex#newcode2726 docs/language/dartLangSpec.tex:2726: On 2014/09/02 13:00:09, Lasse Reichstein ...
6 years, 3 months ago (2014-09-03 19:59:31 UTC) #18
floitsch
https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/498873003/diff/40001/docs/language/dartLangSpec.tex#newcode3116 docs/language/dartLangSpec.tex:3116: If $f$ is marked \ASYNC{} (\ref{functions}), then a fresh ...
6 years, 3 months ago (2014-09-03 20:34:36 UTC) #19
gbracha
Having discussed this extensively with Lars, we have decided that the semantics are as designed ...
6 years, 3 months ago (2014-09-09 20:51:11 UTC) #20
gbracha
Committed patchset #6 (id:100001) manually as r40052 (presubmit successful).
6 years, 3 months ago (2014-09-09 20:51:40 UTC) #21
Bob Nystrom
On 2014/09/09 20:51:11, gbracha wrote: > Having discussed this extensively with Lars, we have decided ...
6 years, 3 months ago (2014-09-09 20:57:23 UTC) #22
Lasse Reichstein Nielsen
6 years, 3 months ago (2014-09-10 09:22:00 UTC) #23
Message was sent while issue was closed.
https://codereview.chromium.org/498873003/diff/100001/docs/language/dartLangS...
File docs/language/dartLangSpec.tex (right):

https://codereview.chromium.org/498873003/diff/100001/docs/language/dartLangS...
docs/language/dartLangSpec.tex:5240: The current call to \code{moveNext()}
returns \TRUE.
Just noticed that the use of the value is missing, e.g.:

\item
  The \code{current} getter on the iterator returns $o$ until \code{moveNext()}
is next invoked.

https://codereview.chromium.org/498873003/diff/100001/docs/language/dartLangS...
docs/language/dartLangSpec.tex:5267: First, the expression $e$ is evaluated to
an object $o$. If the immediately enclosing function $m$ is synchronous, then it
is a dynamic error if the class of $o$ does not implement \code{Iterable}.  If
$m$ asynchronous, then it is a dynamic error if the class of $o$ does not
implement \code{Stream}. Next, for each element $x$ of $o$:
Still not sure we want to require the types in unchecked mode.
As long as you can use .iterator on the sync value and .listen on the async one,
it could still work.

https://codereview.chromium.org/498873003/diff/100001/docs/language/dartLangS...
docs/language/dartLangSpec.tex:5270: If $m$ is marked \ASYNC* (\ref{functions})
and the stream $u$ associated with $m$ has been paused,  then execution of $m$
is suspended until $u$ is resumed or canceled.

If $u$ is paused, then the subscription on $o$ should probably also be paused
until $u$ resumes.

https://codereview.chromium.org/498873003/diff/100001/docs/language/dartLangS...
docs/language/dartLangSpec.tex:5283: \end{itemize}
and `current` returns $x$ until the next call to `moveNext()`.

Powered by Google App Engine
This is Rietveld 408576698