Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
d76d5c9
Rebasing
eernstg Oct 7, 2021
aceb521
Typos: Escaping braces meant to be code
eernstg Oct 8, 2021
5bf4527
Eliminated text about migration features, adapted the remaining text …
eernstg Oct 8, 2021
524b462
Rebasing
eernstg Oct 13, 2021
4c4df64
Reorganized material on null/Null
eernstg Oct 14, 2021
f34fdf5
Rebase
eernstg Oct 18, 2021
7d3a3dc
Rebasing
eernstg Oct 27, 2021
5c25262
Rebase
eernstg Nov 1, 2021
658ec69
WIP
eernstg Nov 9, 2021
563c826
Corrected last part of section Variables
eernstg Nov 10, 2021
b911865
Did expression typing, spread element, i2b
eernstg Nov 11, 2021
4e9cd97
Super-bounded types, least and greatest closure
eernstg Nov 12, 2021
7612679
Assignability, generics
eernstg Nov 12, 2021
a590114
Extreme types
eernstg Nov 12, 2021
74ffc4c
Extreme types, helper functions
eernstg Nov 15, 2021
25a7685
Rebase
eernstg Nov 16, 2021
51db928
.call insertion on nullable type; clean up BlindDefineSymbol
eernstg Nov 16, 2021
cc381a3
Rebase
eernstg Nov 16, 2021
168dc18
Main
eernstg Nov 16, 2021
42a4609
Type Type
eernstg Nov 17, 2021
b296cf4
Type Type fixes
eernstg Nov 17, 2021
ba0805a
More typeType fixes
eernstg Nov 17, 2021
9b3d147
Constant instances (in particular: about canonical instances)
eernstg Nov 18, 2021
5f29159
Corrected variable initialization specification ("has been stored" ra…
eernstg Nov 19, 2021
77edbe2
Small adjustments to Variables
eernstg Nov 19, 2021
749f929
Rebase
eernstg Nov 26, 2021
dd04671
Boolean conversion; type test; made true/false terminology consistent…
eernstg Nov 29, 2021
81f067d
Constant types; type variable elimination in constants
eernstg Nov 29, 2021
c26e041
Conditional expression; operators && and ||; `if` statements; delete …
eernstg Nov 30, 2021
fa203e7
Integrate Null Promotion; put v==null rules into Type Promotion, and …
eernstg Dec 1, 2021
a4ebae6
Null shorting
eernstg Dec 1, 2021
101c892
Small fixes in section Null Shorting
eernstg Dec 1, 2021
4ec648e
Revisiting all occurrences of \NULL/Null/null
eernstg Dec 2, 2021
920464b
Did much of Standard ... Bounds
eernstg Dec 3, 2021
e9fdd3f
Standard bounds
eernstg Dec 7, 2021
c52925d
Fixed the "SUB issues" section
eernstg Dec 8, 2021
85e8194
Rebase
eernstg Dec 8, 2021
86cf343
Rebase
eernstg Dec 8, 2021
7e8f5b0
Rebase
eernstg Dec 8, 2021
df1392f
Rebase
eernstg Dec 9, 2021
793ab89
Rebase
eernstg Dec 10, 2021
6ce6a3d
Clarified and corrected Canonical Syntax
eernstg Dec 10, 2021
54f09bb
Fixed subsubsection --> subsection, 2*
eernstg Dec 10, 2021
ad56ba5
Typos
eernstg Jan 5, 2022
73dca51
Whitespace
eernstg Jan 6, 2022
dcc816a
Interface type fixes
eernstg Jan 6, 2022
cc793b7
Sync with specify_null_safety_new_sections_dec21
eernstg Jan 7, 2022
233f120
Mark a subtype rule as redundant, in a TODO comment
eernstg Jan 7, 2022
ca90fa2
Adjust no-loops-in-noSuchMethod example
eernstg Feb 7, 2022
ae182b5
Adjust no-loops-in-noSuchMethod example
eernstg Feb 8, 2022
a524ac6
Corrected function type subtype rule (bounds); corrected "math" index…
eernstg May 3, 2022
8914172
Adjust class building types
eernstg May 9, 2022
fb4c655
Adjust examples declaring non-nullable positional optional parameters…
eernstg Jul 26, 2022
6f36899
Add a TODO to introduce `Any`
eernstg Nov 2, 2022
c813069
Correct example in section about super-bounded types
eernstg Nov 3, 2022
30004f7
Correction based on https://github.com/dart-lang/language/issues/2679
eernstg Dec 2, 2022
33f599a
Specify erasure of intersection types for the semantics of await expr…
eernstg Dec 9, 2022
8d668f1
Typo
eernstg Jan 20, 2023
1715109
Introduce \DynamicError, marking all dynamic errors just like compile…
eernstg Feb 2, 2023
ec480fe
Changed the error margin markers to use red text
eernstg Feb 2, 2023
f3eec83
Correct dynamic type of tear-off with covariant parameter
eernstg May 31, 2023
4434212
Clarified tear-offs of methods with covariant parameters
eernstg May 31, 2023
3c9dd12
Correct a typo about closurization
eernstg May 31, 2023
a5f53ed
Correction: Add definition of normalizedType/topMergeType for member …
eernstg Jun 16, 2023
fceb046
Correction: Update dynamic type of covariant parameter to Object?
eernstg Jun 22, 2023
6fdb551
Typo
eernstg Jun 29, 2023
2494426
Add commentary to emphasize that `new`/`const` can be implicit, and `…
eernstg Jul 5, 2023
51e7937
Add missing updates in section typeVoid
eernstg Jul 6, 2023
e425497
Add missing error: default values must be type correct
eernstg Jul 13, 2023
0993ef1
Add a paragraph explaining that the given section is about both optio…
eernstg Jul 13, 2023
abfbdd7
Post-rebase error correction
eernstg Jul 21, 2023
a7fc392
Correct usages of "final variable" and "constant variable"
eernstg Jul 21, 2023
c2cda97
Add missing declaration kind about getter/setter type error
eernstg Sep 11, 2023
bd7da13
Remove obsolete reference to "mixin composition" from section Supercl…
eernstg Sep 29, 2023
dd9915a
Add comment about default values of noSuchMethod forwarders being und…
eernstg Sep 29, 2023
9599a6c
Correct rule about the interface of T?
eernstg Jan 10, 2024
f02c1e9
Correct rule about interfaces of bounded types
eernstg Jan 10, 2024
131d7c8
Corrected many occurrences of "string" to "string literal"
eernstg Feb 22, 2024
7f3e401
Update the "parameter name `_...`" error
eernstg Apr 30, 2024
9b16e52
Restore the index marker, define a command for it
eernstg Jun 17, 2024
60f6dc6
Corrected the huge rebase operation (removed TODO material)
eernstg Jun 17, 2024
9959d5d
Fix obsolete ref
eernstg Aug 12, 2024
839a4e5
Introduce <memberedDeclarationBody> and use it
eernstg Aug 12, 2024
a954c9d
Add change log entry
eernstg Aug 12, 2024
02c4df8
WIP
eernstg Oct 17, 2024
a9fd489
Clarified class building types
eernstg Nov 14, 2024
649cd40
Correct the order of "bind formals to actuals", which has been rather…
eernstg Nov 27, 2024
7c26a23
Correct the incorrect cleam that Null implements Object
eernstg Feb 14, 2025
443207e
Add missing cases to the definition of interface types
eernstg Apr 9, 2025
c65199f
WIP
eernstg Apr 9, 2025
e2919e0
Remove wrong brace
eernstg Jul 3, 2025
a707718
Fix one-liner commentary
eernstg Jul 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 19 additions & 15 deletions specification/dart.sty
Original file line number Diff line number Diff line change
Expand Up @@ -124,11 +124,11 @@
\newenvironment{commentary}[1]{{\color{commentaryColor}\sf{#1}}}{}

% Auxiliary functions.
\newcommand{\flattenName}{\mbox{\it flatten}}
\newcommand{\flattenName}{\metavar{flatten}}
\newcommand{\flatten}[1]{\ensuremath{\flattenName({#1})}}
\newcommand{\futureOrBase}[1]{\ensuremath{\mbox{\it futureOrBase}({#1})}}
\newcommand{\overrides}[1]{\ensuremath{\mbox{\it overrides}({#1})}}
\newcommand{\inherited}[1]{\ensuremath{\mbox{\it inherited}({#1})}}
\newcommand{\futureOrBase}[1]{\ensuremath{\metavar{futureOrBase}({#1})}}
\newcommand{\overrides}[1]{\ensuremath{\metavar{overrides}({#1})}}
\newcommand{\inherited}[1]{\ensuremath{\metavar{inherited}({#1})}}

% Used as a mini-section marker, indicating visibly that a range of
% text (usually just a couple of paragraphs) are concerned with one
Expand Down Expand Up @@ -173,9 +173,12 @@
\newcommand{\id}{\metavar{id}}
\newcommand{\op}{\metavar{op}}

% Used in margin to indicate that a term is being defined here.
\newcommand{\IndexMarker}{\ensuremath{^\vartriangle}}

% Used for defining occurrence of phrase, with customized index entry.
\newcommand{\IndexCustom}[2]{%
\leavevmode\marginpar{\ensuremath{_{^\vartriangle}}}\emph{#1}\index{#2}}
\leavevmode\marginpar{\IndexMarker}\emph{#1}\index{#2}}

% Used for the defining occurrence of a local symbol.
\newcommand{\DefineSymbol}[1]{%
Expand All @@ -196,11 +199,15 @@

% Same appearance, but not adding an entry to the index.
\newcommand{\NoIndex}[1]{%
\leavevmode\marginpar{\ensuremath{_{^\vartriangle}}}\emph{#1}}
\leavevmode\marginpar{\IndexMarker}\emph{#1}}

% Mark a compile-time error in the margin.
\newcommand{\Error}[1]{%
\leavevmode\marginpar{\ensuremath{_{^\ominus}}}{#1}}
\leavevmode\marginpar{\ensuremath{\textcolor{red}{\ominus}}}{#1}}

% Mark a dynamic error in the margin.
\newcommand{\DynamicError}[1]{%
\leavevmode\marginpar{\textcolor{red}{\Lightning}}{#1}}

% Used to specify comma separated lists of similar symbols.
\newcommand{\List}[3]{\ensuremath{{#1}_{#2},\,\ldots,\ {#1}_{#3}}}
Expand Down Expand Up @@ -402,9 +409,9 @@

% Same as \FunctionTypeNamed except suitable for inline usage, hence omitting
% the spacer argument.
\newcommand{\RawFunctionTypeNamed}[8]{%
\newcommand{\RawFunctionTypeNamed}[9]{%
\RawFunctionType{#1}{#2}{#3}{#4}{%
\FunctionTypeNamedParameters{#5}{#6}{#7}{#8}{r}}}
\FunctionTypeNamedParameters{#5}{#6}{#7}{#8}{#9}}}

% A variant of \FunctionTypeNamed that uses the standard symbols,
% that is, a function type with positional optional parameters which
Expand Down Expand Up @@ -466,17 +473,14 @@
\newcommand{\SubtypeStd}[2]{\Subtype{\Delta}{#1}{#2}}
% Subtype judgment where the environment is omitted (NE: "no environment").
\newcommand{\SubtypeNE}[2]{\ensuremath{{#1}\,<:\,{#2}}}
\newcommand{\MutualSubtype}[3]{\ensuremath{{#1}\vdash{#2}\,<:>\,{#3}}}
\newcommand{\MutualSubtypeStd}[2]{\MutualSubtype{\Delta}{#1}{#2}}
\newcommand{\MutualSubtypeNE}[2]{\ensuremath{{#1}\,<:>\,{#2}}}

% Judgment expressing that a supertype relation exists.
\newcommand{\Supertype}[3]{\ensuremath{{#1}\vdash{#2}\,:>\,{#3}}}
\newcommand{\SupertypeStd}[2]{\Supertype{\Delta}{#1}{#2}}

% Judgment expressing that an assignability relation exists.
\newcommand{\AssignableRelationSymbol}{\ensuremath{\Longleftrightarrow}}
\newcommand{\Assignable}[3]{%
\ensuremath{{#1}\vdash{#2}\,\AssignableRelationSymbol\,{#3}}}
\newcommand{\AssignableStd}[2]{\Assignable{\Gamma}{#1}{#2}}

% Semantic function delivering the superinterfaces of a class.
\newcommand{\Superinterfaces}[1]{\ensuremath{\metavar{Superinterfaces}({#1})}}
\newcommand{\Superinterface}[2]{{#1}\in\Superinterfaces{#2}}
Expand Down
Loading