OLD | NEW |
1 \documentclass{article} | 1 \documentclass{article} |
2 \usepackage{epsfig} | 2 \usepackage{epsfig} |
3 \usepackage{color} | 3 \usepackage{color} |
4 \usepackage{dart} | 4 \usepackage{dart} |
5 \usepackage{bnf} | 5 \usepackage{bnf} |
6 \usepackage{hyperref} | 6 \usepackage{hyperref} |
7 \usepackage{lmodern} | 7 \usepackage{lmodern} |
8 \usepackage[T1]{fontenc} | 8 \usepackage[T1]{fontenc} |
9 \newcommand{\code}[1]{{\sf #1}} | 9 \newcommand{\code}[1]{{\sf #1}} |
10 \title{Dart Programming Language Specification \\ | 10 \title{Dart Programming Language Specification \\ |
11 {4th edition draft}\\ | 11 {5th edition draft}\\ |
12 {\large Version 1.15.0}} | 12 {\large Version 1.15.0}} |
13 | 13 |
14 % For information about Location Markers (and in particular the | 14 % For information about Location Markers (and in particular the |
15 % commands \LMHash and \LMLabel), see the long comment at the | 15 % commands \LMHash and \LMLabel), see the long comment at the |
16 % end of this file. | 16 % end of this file. |
17 | 17 |
| 18 % CHANGES |
| 19 % ======= |
| 20 % Significant changes to the specification. |
| 21 % |
| 22 % 1.15 |
| 23 % - Change how language specification describes control flow. |
| 24 % - Object initialization now specifies initialization order correctly. |
| 25 % - Specifies that leaving an await-for loop must wait for the subscription |
| 26 % to be canceled. |
| 27 % - An await-for loop only pauses the subscription if it does something async. |
| 28 % - Assert statements may now also include a "message" operand. |
| 29 % - The Null type is now considered a subtype of all types in most cases. |
| 30 % |
| 31 % 1.14 |
| 32 % - The call "C()" where "C" is a class name, is a now compile-time error. |
| 33 % - Changed description of rewrites that depended on a function literal. |
| 34 % In many cases, the rewrite wasn't safe for asynchronous code. |
| 35 % - Removed generalized tear-offs. |
| 36 % - Allow "rethrow" to also end a switch case. Allow braces around switch cases. |
| 37 % - Allow using '=' as default-value separator for named parameters. |
| 38 % - Make it a compile-time error if a library includes the same part twice. |
| 39 % - Now more specific about the return types of sync*/async/async* functions |
| 40 % in relation to return statements. |
| 41 % - Allow Unicode surrogate values in String literals. |
| 42 % - Make an initializing formal's value accessible in the initializer list. |
| 43 % - Allow any expression in assert statements (was only conditionalExpression). |
| 44 % - Allow trailing commas in argument and parameter lists. |
| 45 % |
| 46 % 1.11 - ECMA 408 - 4th Edition |
| 47 % - Specify that potentially constant expressions must be valid expressions |
| 48 % if the parameters are non-constant. |
| 49 % - Make "??" a compile-time constant operator. |
| 50 % - Having multiple unnamed libraries no longer causes warnings. |
| 51 % - Specify null-aware operators for static methods. |
| 52 % |
| 53 % 1.10 |
| 54 % - Allow mixins to have super-classes and super-calls. |
| 55 % - Specify static type checking for the implicit for-in iterator variable. |
| 56 % - Specify static types for a number of expressions where it was missing. |
| 57 % - Make calls on the exact type "Function" not cause warnings. |
| 58 % - Specify null-aware behavior of "e?.v++" and similar expressions. |
| 59 % - Specify that `package:` URIs are treated in an implementation dependent way. |
| 60 % - Require warning if for-in is used on object with no "iterator" member. |
| 61 % |
| 62 % 1.9 - ECMA-408 - 3rd Edition |
| 63 % |
| 64 |
18 \begin{document} | 65 \begin{document} |
19 \maketitle | 66 \maketitle |
20 \tableofcontents | 67 \tableofcontents |
21 | 68 |
22 | 69 |
23 \newpage | 70 \newpage |
24 | 71 |
25 \pagestyle{myheadings} | 72 \pagestyle{myheadings} |
26 \markright{Dart Programming Language Specification} | 73 \markright{Dart Programming Language Specification} |
27 | 74 |
(...skipping 8012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8040 | 8087 |
8041 The invariant that each normative paragraph is associated with a line | 8088 The invariant that each normative paragraph is associated with a line |
8042 containing the text \LMHash{} should be maintained. Extra occurrences | 8089 containing the text \LMHash{} should be maintained. Extra occurrences |
8043 of \LMHash{} can be added if needed, e.g., in order to make | 8090 of \LMHash{} can be added if needed, e.g., in order to make |
8044 individual \item{}s in itemized lists addressable. Each \LM.. command | 8091 individual \item{}s in itemized lists addressable. Each \LM.. command |
8045 must occur on a separate line. \LMHash{} must occur immediately | 8092 must occur on a separate line. \LMHash{} must occur immediately |
8046 before the associated paragraph, and \LMLabel must occur immediately | 8093 before the associated paragraph, and \LMLabel must occur immediately |
8047 after the associated \section{}, \subsection{} etc. | 8094 after the associated \section{}, \subsection{} etc. |
8048 | 8095 |
8049 ---------------------------------------------------------------------- | 8096 ---------------------------------------------------------------------- |
OLD | NEW |