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 {4th 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 cancelled. | |
27 % - An await-for loop only pauses the subscription if it does something async. | |
28 % - Assert statments 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 libray 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 | |
47 % - Specify that potentially constant expressions must be valid expressions | |
48 % if the parmameters are non-constant. | |
Kevin Millikin (Google)
2017/01/23 11:05:22
parmameters => parameters
| |
49 % - Make "??" a compie-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 | |
63 % - Ecma TC52 - 3rd Edition of the Dart specification. | |
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 |