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
de22761
Rebasing
eernstg Oct 7, 2021
9fb3ae0
Typos: Escaping braces meant to be code
eernstg Oct 8, 2021
7be65a7
Eliminated text about migration features, adapted the remaining text …
eernstg Oct 8, 2021
c19afb8
Rebasing
eernstg Oct 13, 2021
c50f32f
Reorganized material on null/Null
eernstg Oct 14, 2021
1c4cd7e
Rebase
eernstg Oct 18, 2021
cf07186
Rebasing
eernstg Oct 27, 2021
b38163d
Rebase
eernstg Nov 1, 2021
cbb3a3e
WIP
eernstg Nov 9, 2021
9acd4be
Corrected last part of section Variables
eernstg Nov 10, 2021
dd9d957
Did expression typing, spread element, i2b
eernstg Nov 11, 2021
dacc7b1
Super-bounded types, least and greatest closure
eernstg Nov 12, 2021
77aabdb
Assignability, generics
eernstg Nov 12, 2021
5a3122c
Extreme types
eernstg Nov 12, 2021
29b2e10
Extreme types, helper functions
eernstg Nov 15, 2021
9425cb8
Rebase
eernstg Nov 16, 2021
dcfb044
.call insertion on nullable type; clean up BlindDefineSymbol
eernstg Nov 16, 2021
9e6974d
Rebase
eernstg Nov 16, 2021
417d931
Main
eernstg Nov 16, 2021
a185cd4
Type Type
eernstg Nov 17, 2021
46e9361
Type Type fixes
eernstg Nov 17, 2021
87335e7
More typeType fixes
eernstg Nov 17, 2021
b69084c
Constant instances (in particular: about canonical instances)
eernstg Nov 18, 2021
5b2565c
Corrected variable initialization specification ("has been stored" ra…
eernstg Nov 19, 2021
44ce325
Small adjustments to Variables
eernstg Nov 19, 2021
c0a5bfb
Rebase
eernstg Nov 26, 2021
66fba65
Boolean conversion; type test; made true/false terminology consistent…
eernstg Nov 29, 2021
829008c
Constant types; type variable elimination in constants
eernstg Nov 29, 2021
ab7d9b0
Conditional expression; operators && and ||; `if` statements; delete …
eernstg Nov 30, 2021
09d4378
Integrate Null Promotion; put v==null rules into Type Promotion, and …
eernstg Dec 1, 2021
1dc2c44
Null shorting
eernstg Dec 1, 2021
86006f8
Small fixes in section Null Shorting
eernstg Dec 1, 2021
6a5c706
Revisiting all occurrences of \NULL/Null/null
eernstg Dec 2, 2021
d61ddaf
Did much of Standard ... Bounds
eernstg Dec 3, 2021
8e37cce
Standard bounds
eernstg Dec 7, 2021
40cd9d8
Fixed the "SUB issues" section
eernstg Dec 8, 2021
a6677f5
Rebase
eernstg Dec 8, 2021
71cbd5d
Rebase
eernstg Dec 8, 2021
b95f256
Rebase
eernstg Dec 8, 2021
7284242
Rebase
eernstg Dec 9, 2021
f4d3eea
Rebase
eernstg Dec 10, 2021
7a8a0b1
Clarified and corrected Canonical Syntax
eernstg Dec 10, 2021
c519763
Fixed subsubsection --> subsection, 2*
eernstg Dec 10, 2021
0a88f14
Typos
eernstg Jan 5, 2022
94001e5
Whitespace
eernstg Jan 6, 2022
358ade8
Interface type fixes
eernstg Jan 6, 2022
1c4d0ca
Sync with specify_null_safety_new_sections_dec21
eernstg Jan 7, 2022
cf5c7f3
Mark a subtype rule as redundant, in a TODO comment
eernstg Jan 7, 2022
ba5b9de
Adjust no-loops-in-noSuchMethod example
eernstg Feb 7, 2022
3053b0f
Adjust no-loops-in-noSuchMethod example
eernstg Feb 8, 2022
2d95ef2
Corrected function type subtype rule (bounds); corrected "math" index…
eernstg May 3, 2022
b5d581c
Adjust class building types
eernstg May 9, 2022
aa6073c
Adjust examples declaring non-nullable positional optional parameters…
eernstg Jul 26, 2022
52c19a1
Add a TODO to introduce `Any`
eernstg Nov 2, 2022
c452c73
Correct example in section about super-bounded types
eernstg Nov 3, 2022
ab584d2
Correction based on https://github.com/dart-lang/language/issues/2679
eernstg Dec 2, 2022
62e2253
Specify erasure of intersection types for the semantics of await expr…
eernstg Dec 9, 2022
32a61f5
Typo
eernstg Jan 20, 2023
f98134c
Introduce \DynamicError, marking all dynamic errors just like compile…
eernstg Feb 2, 2023
75d7309
Changed the error margin markers to use red text
eernstg Feb 2, 2023
c609b4d
Correct dynamic type of tear-off with covariant parameter
eernstg May 31, 2023
7e35671
Clarified tear-offs of methods with covariant parameters
eernstg May 31, 2023
ff38dbc
Correct a typo about closurization
eernstg May 31, 2023
7301f84
Correction: Add definition of normalizedType/topMergeType for member …
eernstg Jun 16, 2023
69b208a
Correction: Update dynamic type of covariant parameter to Object?
eernstg Jun 22, 2023
b9cff43
Typo
eernstg Jun 29, 2023
c68abf2
Add commentary to emphasize that `new`/`const` can be implicit, and `…
eernstg Jul 5, 2023
9dca466
Add missing updates in section typeVoid
eernstg Jul 6, 2023
a844320
Add missing error: default values must be type correct
eernstg Jul 13, 2023
39aee91
Add a paragraph explaining that the given section is about both optio…
eernstg Jul 13, 2023
0d2bb90
Post-rebase error correction
eernstg Jul 21, 2023
0885ede
Correct usages of "final variable" and "constant variable"
eernstg Jul 21, 2023
05010bc
Add missing declaration kind about getter/setter type error
eernstg Sep 11, 2023
3c040ba
Remove obsolete reference to "mixin composition" from section Supercl…
eernstg Sep 29, 2023
310e553
Add comment about default values of noSuchMethod forwarders being und…
eernstg Sep 29, 2023
f321ea3
Correct rule about the interface of T?
eernstg Jan 10, 2024
24ada0e
Correct rule about interfaces of bounded types
eernstg Jan 10, 2024
cd50f1a
Corrected many occurrences of "string" to "string literal"
eernstg Feb 22, 2024
c8d68f8
Update the "parameter name `_...`" error
eernstg Apr 30, 2024
646fcfd
Restore the index marker, define a command for it
eernstg Jun 17, 2024
bac00f5
Corrected the huge rebase operation (removed TODO material)
eernstg Jun 17, 2024
c780857
Fix obsolete ref
eernstg Aug 12, 2024
0e93fd5
Introduce <memberedDeclarationBody> and use it
eernstg Aug 12, 2024
9bb9932
Add change log entry
eernstg Aug 12, 2024
7b58e88
WIP
eernstg Oct 17, 2024
7a49dd4
Clarified class building types
eernstg Nov 14, 2024
397e79d
Correct the order of "bind formals to actuals", which has been rather…
eernstg Nov 27, 2024
6541952
Correct the incorrect cleam that Null implements Object
eernstg Feb 14, 2025
48e0e8f
Add missing cases to the definition of interface types
eernstg Apr 9, 2025
aea8182
WIP
eernstg Apr 9, 2025
6cbaa23
Remove wrong brace
eernstg Jul 3, 2025
8602443
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