Commit Graph

192 Commits

Author SHA1 Message Date
Florian Loitsch f8d6248017 Newsletter 2017-10-20.
Change-Id: Ia5e8edab0b5cf4d740e0959a4d88204e20844c01
Reviewed-on: https://dart-review.googlesource.com/15800
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-10-20 22:59:55 +00:00
Erik Ernst 1e25e4814b Clarified semantics of transformation in optional-new.md.
Change-Id: Ieb8e323a37f66713067f8a33a5d3a8596e840458
Reviewed-on: https://dart-review.googlesource.com/14401
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2017-10-20 13:46:22 +00:00
Florian Loitsch bca7b35cd6 Fix typo in exponent representation example
Change-Id: I7e082bc7a6e193fe783263b2a074ad5d348c85c8
Reviewed-on: https://dart-review.googlesource.com/13980
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-10-14 14:31:32 +00:00
Ben Konyi df85386946 Publishing Dart Language Newsletter for 2017/10/13.
Bug:
Change-Id: Iedd649c2b38b0b7044c631d970336d1cd764ac82
Reviewed-on: https://dart-review.googlesource.com/13924
Reviewed-by: Ben Konyi <bkonyi@google.com>
2017-10-13 21:17:07 +00:00
Erik Ernst 338b070178 Added informal specification of instantiate to bound.
Change-Id: Ie4b05f16006743207be76e26195ff345bf2efc6b
Reviewed-on: https://dart-review.googlesource.com/5765
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2017-10-13 10:03:43 +00:00
Erik Ernst 63de49ccde test.py will now run the spec parser.
This CL modifies tools/test.py such that it can run the spec parser
(after doing `make parser` in tools/spec_parser, and assuming that the
ANTLR 3 library is available at /usr/share/java/antlr3-runtime.jar)
with a command line like

  `tools/test.py -c spec_parser -r none language/callable_test`

It also changes status files to have a name which follows the expected
patterns (e.g., `language/language_spec_parser.status`). Finally, it
adds/changes many entries in status files, such that parsing of the
directories `language` and `language_2` run successfully.

Change-Id: I82a22e32ac4fecd23ac0d4434bcac08f75dd8ffe
Reviewed-on: https://dart-review.googlesource.com/12680
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-10-12 09:22:28 +00:00
Erik Ernst 4cf0e65814 Adjusted optional-{new,const}.md according to feedback by mail.
Eliminated the imprecise notion of an immediate subexpression.
Included missing rule for transformation of composite literals
(lists and maps). Some smaller fixes according to feedback by
mail.

Change-Id: I03e58dd24b370b797cda084bd064c6f0db22f8fb
Reviewed-on: https://dart-review.googlesource.com/4383
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-10-11 15:49:06 +00:00
Erik Ernst 5f713bdd19 It is now a static warning if we call an Object.
This CL updates section 'Function Expression Invocation' in
dartLangSpec.tex to specify that it is a static warning to use the
value of an expression of type `Object` as a function.

We still _allow_ using a `Function` and a `dynamic` value as a function
by means of `assignable`, because these two things together are rather
concise, and they say the right thing.

It is a bit convoluted, though, because `Object` seems to be OK
according to the first sentence, and then it's ambushed by the second
sentence. Proposals for a more elegant wording welcome! ;-)

Change-Id: I997399b9e10da339df359e9c6a339249ab97acf9
Reviewed-on: https://dart-review.googlesource.com/11480
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2017-10-11 14:39:40 +00:00
Erik Ernst b61f1047d5 Add a tools/spec_parse.py script.
This makes it possible to run the spec parser in a way which is a bit
more like the other tools that we have (e.g., tools/test.py):

  > tools/spec_parse.py tests/language/callable_test.dart

It still requires the developer to run `make parser` in
tools/spec_parser and hence does not run on a buildbot, but it's one
step forward.

Change-Id: I68ad6cea55bc02dddac21558acec33fc4bfc1981
Reviewed-on: https://dart-review.googlesource.com/9620
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-10-10 16:03:36 +00:00
Erik Ernst 1ba7ba01ff Added informal spec of "no such method forwarding".
Change-Id: Ifa3bb120566daf0963dbb88db380fbb0e0db26c1
Reviewed-on: https://dart-review.googlesource.com/6500
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-10-10 15:38:42 +00:00
Erik Ernst 83e8cf3d0b Added language on covariant fields to covariant-overrides.md.
Change-Id: I2c2857f5e32328bfe4693038e7ef376f8633758e
Reviewed-on: https://dart-review.googlesource.com/12296
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2017-10-10 15:01:11 +00:00
Florian Loitsch c5e10d5b78 Fix typos in last newsletter.
Address comments from https://dart-review.googlesource.com/c/sdk/+/12161

Change-Id: I05294112753891732784a38fc5ef14fb7fed291b
Reviewed-on: https://dart-review.googlesource.com/12298
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-10-09 17:46:44 +00:00
Florian Loitsch 9c540093a0 Newsletter 2017-10-06.
Change-Id: Ia9834bd0824206e69f15cee00574d9b834f88762
Reviewed-on: https://dart-review.googlesource.com/12161
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-10-06 19:40:19 +00:00
Florian Loitsch 2d003a263c Newsletter 2017-09-29.
Change-Id: I5d621a2f90c885b80f95037d7389e29612f67ef2
Reviewed-on: https://dart-review.googlesource.com/9800
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-09-29 19:47:49 +00:00
Florian Loitsch 76031341af Fix whitespace in int64 proposal.
Change-Id: I241552b790ce6672dc5456e78a70165ef08a9394
Reviewed-on: https://dart-review.googlesource.com/9661
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-09-29 19:46:18 +00:00
Florian Loitsch 71bd158704 Add public Vipunen results link.
Change-Id: Ib39bb812204b08b8de8f4b9c2aa0e3de43d85ece
Reviewed-on: https://dart-review.googlesource.com/9680
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-09-29 16:37:22 +00:00
Erik Ernst df42be789b Fixed several grammar bugs, updated status file for language_2.
The spec parser now parses all of language_2; many files are skipped,
but that is because they are multi-tests or because they contain
intentional syntax errors (negative tests).

Change-Id: I7061f0512702f3cb9631b32c79c3c1c1e2b7b0a6
Reviewed-on: https://dart-review.googlesource.com/8641
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-09-29 11:34:52 +00:00
Florian Loitsch 7c1af28ddb Add Int 64 proposal.
Change-Id: I4e9b4dc72efe9159dbe5f922893776fc282cf7ef
Reviewed-on: https://dart-review.googlesource.com/8560
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-09-28 09:14:04 +00:00
Roel Spilker ebbb0be021 Fix typos
substle => subtle, added missing backtick after </footnote>

Change-Id: Icc43cf01701074ecc692bc4827a4320fb580fca5
Reviewed-on: https://dart-review.googlesource.com/8180
Reviewed-by: William Hesse <whesse@google.com>
2017-09-25 16:43:15 +00:00
Florian Loitsch 415a6e2a75 Fix typo in newsletter.
Change-Id: Ieaa7c8fd6c9018d831e26db594aa5707c014625c
Reviewed-on: https://dart-review.googlesource.com/8021
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-09-25 08:19:43 +00:00
Florian Loitsch 57cc185366 Newsletter 2017-09-22.
Change-Id: I4586a9ebbee94bfa1dba48d0a826247f57d4fd9f
Reviewed-on: https://dart-review.googlesource.com/7702
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-09-22 13:07:38 +00:00
Erik Ernst c49cbae7f0 Rietveld 2688903004 (spec_parser) migrated to Gerrit.
Change-Id: Iddd1e8a795bfaed0092a30bb9d83070fe62d4a60
Reviewed-on: https://dart-review.googlesource.com/7261
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-09-21 09:36:10 +00:00
Erik Ernst 8562c8ff1b Adjusted spec of initializing formal type annotation
During migration of lib/mirrors/initializing_formals_test.dart to lib_2
it became apparent that strong mode makes it an error to have different
type annotations on an initializing formal and the corresponding field.
The language team discussed this and decided that we will take a middle
way: These type annotations can differ, but the initializing formal
must have a subtype.

This CL adjusts the spec to say that. In line with the rest of the
spec it is still a static warning (we will migrate all the static
warnings to errors as a separate step).

Change-Id: I66656c2933b7f86b78f0b06eadbf5edc0f58a3c6
Reviewed-on: https://dart-review.googlesource.com/7264
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2017-09-20 11:38:26 +00:00
Lasse R.H. Nielsen 1d9ed20e06 Add >>> operator to specification.
Change-Id: Icade60331f708f895906dad9445878c6f32f9131
Reviewed-on: https://dart-review.googlesource.com/6621
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2017-09-20 07:51:46 +00:00
Erik Ernst c15eed1269 Added metadata to new function type syntax parameter specifications
In https://github.com/dart-lang/sdk/issues/30732 the concern was raised
that the new Function type syntax does not support metadata on
parameter specifications (i.e., on normalParameterTypes and on
namedParameterTypes).

The implication of adding support for metadata in these locations is
that `@required` can be used on function types, which is the motivation
for submitting 30732.

We have always had support on parameter declarations in function typed
parameter declarations (`void foo(@A() int f(@A() String s))`), so in
this sense there is no new semantics to worry about (Lasse: "it doesn't
mean anything anyway!").

This CL modifies the generic-function-type-alias.md informal spec to
include this kind of metadata support.

Change-Id: I4520d330458242b31c991f62c03ca2f34f9c5e54
Reviewed-on: https://dart-review.googlesource.com/5762
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-09-18 09:31:08 +00:00
Lasse R.H. Nielsen c620e827b7 Don't say that the Invocation object of setters/getters returns const map/list.
Currently the spec says that namedArguments of, say, a setter Invocation must
return the `const{}` map. That's badly typed for Dart 2(it should at least
be `const <Symbol,Object>{}`) and unnecessarily specific.
This change just requires the object to be empty and unmodifiable.

Also remove the spec handling invalidly overridden noSuchMethod.
That's not longer possible in Dart 2.

Change-Id: I3a983a44dd5939e42c85a53e9769f5961e03b986
Reviewed-on: https://dart-review.googlesource.com/6462
Reviewed-by: Erik Ernst <eernst@google.com>
2017-09-18 08:06:28 +00:00
Florian Loitsch 5f11c123d4 Incorporate Lasse's comments.
Change-Id: I4906660337dc440fd1bbc2e39b656bd2c1e1ba91
Reviewed-on: https://dart-review.googlesource.com/6320
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-09-15 21:19:01 +00:00
Florian Loitsch dfbd0570b4 Newsletter 2017-09-15.
Change-Id: I6a76a96975a1bfb36fa62fa887e1f7d922aadd1f
Reviewed-on: https://dart-review.googlesource.com/6300
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-09-15 20:41:41 +00:00
Florian Loitsch 10783d28f2 Newsletter 2017-09-08.
Change-Id: I22a5d094d1af4c78a78f48694c6b110956633368
Reviewed-on: https://dart-review.googlesource.com/4560
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-09-08 19:34:22 +00:00
Lasse Reichstein Holst Nielsen 06f2a2eead Remove @proxy from the specification. Deprecate the annotation.
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/3007853003 .
2017-09-04 07:56:53 +02:00
Florian Loitsch b74f7cdd86 Remove spurious "function that takes"
Fix the section on Fruit function vs apple function.
2017-09-02 20:58:08 +02:00
Florian Loitsch b8a36a4887 Newsletter 2017-09-01.
Review-Url: https://codereview.chromium.org/3012723002 .
2017-09-01 22:47:20 +02:00
Erik Ernst 839c321608 Generalized void informal spec clarified in several locations.
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2994363003 .
2017-08-31 12:10:06 +02:00
Erik Ernst 00e98af7ef Adjusted the optional-const/new specs.
The informal specifications of optional-const and optional-new used to
be incomplete, and this CL adds missing parts (transformation rules for
lists and maps, and for `assignableExpression`).

This version of the documents preserves the property that no `const` is
added without immediate syntactic justification.

The alternative (where `const` is used also in other contexts where
either `const` or `new` must be added, just because we can do that)
is not specified here, that'll be another CL. The corrections done in
this CL will be needed, anyway, so I separated the two.

R=lrn@google.com

Review-Url: https://codereview.chromium.org/3005833002 .
2017-08-30 18:53:43 +02:00
Florian Loitsch 8482c00ec3 Newsletter 2017-08-25.
Review-Url: https://codereview.chromium.org/3003893002 .
2017-08-25 17:24:27 +02:00
Lasse Reichstein Holst Nielsen 3744197e3c Specify what "is equivalent to" means.
R=eernst@google.com

Review-Url: https://codereview.chromium.org/2998173002 .
2017-08-22 07:35:23 +02:00
Erik Ernst 6ef388db9d Added static warning on assignment to final locals; adjusted for-in.
Addresses spec omission which was brought up in SDK issue #30483.

The following issue was created specifically on this topic: #30489.

R=lrn@google.com

Review-Url: https://codereview.chromium.org/2998073002 .
2017-08-21 09:29:17 +02:00
Florian Loitsch e6e8d35323 Newsletter 2017-08-18.
Review-Url: https://codereview.chromium.org/3001943002 .
2017-08-18 18:25:48 +02:00
Lasse R.H. Nielsen 2170830a9e Specify that async functions start executing synchronously.
R=eernst@google.com

Review-Url: https://codereview.chromium.org/3000063002 .
2017-08-18 13:00:40 +02:00
Erik Ernst 6fc097670c Added informal spec of optional const/new to docs/language/informal.
R=lrn@google.com

Review-Url: https://codereview.chromium.org/3000133002 .
2017-08-17 11:33:04 +02:00
Erik Ernst 8514557c5a Removed permission to do voidExpression is T and .. is! T.
The informal spec of generalized void used to allow a `typeTest` on
an expression of type void. This CL removes that permission, thus
leaving only `as` as a narrow escape hatch from void, as decided at the
language team meeting on 2017-08-15.

R=lrn@google.com

Review-Url: https://codereview.chromium.org/3001063002 .
2017-08-17 11:31:31 +02:00
Kevin Moore 88706d8813 Tiny nit to 20170811 newsletter (#30460) 2017-08-16 11:37:01 -07:00
Florian Loitsch 1daab67666 Newsletter 2017-08-11
Review-Url: https://codereview.chromium.org/3000793002 .
2017-08-11 17:33:00 +02:00
Lasse Reichstein Holst Nielsen e329e1ce29 Don't allow function values in assert tests.
Currently you can write
  assert(() { ... });
and the function will be called and the return value used as the assert test.
This feature isn't really worth its own complexity - if you want to get the same effect, you can just write all the function:
  assert(() { ... }());
With asserts in const initializer lists, where the function call is not possible anyway, the feature went from being not very useful to being actual an complication and exception for users to remember.

R=eernst@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2974763002 .
2017-08-10 15:29:55 +02:00
Erik Ernst db092ff2fc Transferred the generalized void informal spec to docs/language/informal
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2994003002 .
2017-08-09 16:30:59 +02:00
Florian Loitsch d94cecba3c Newsletter 2017-08-04.
Review-Url: https://codereview.chromium.org/2995543002 .
2017-08-04 19:06:10 +02:00
Florian Loitsch 941c07db5c Add first newsletter.
Review-Url: https://codereview.chromium.org/2989963002 .
2017-07-28 21:31:00 +02:00
Erik Ernst 5904409d50 Added informal generic method syntax and generic function type specs.
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2841483003 .
2017-07-14 13:17:30 +02:00
Erik Ernst 52e1372454 Fixes several typos as reported by Alexander Aprelev in
https://codereview.chromium.org/2844003002/, plus other typos.

R=lrn@google.com

Review-Url: https://codereview.chromium.org/2975283002 .
2017-07-14 12:51:28 +02:00
Lasse R.H. Nielsen a72f46def8 The actual change to the wording of assert that I intended in the previous CL.
R=eernst@google.com

Review-Url: https://codereview.chromium.org/2979523002 .
2017-07-11 11:52:21 +02:00