language
language copied to clipboard
Design of the Dart language
When destructuring a named field from an object, it's common to want to capture the resulting value in a variable with the same name: ```dart var point = Point(1, 2);...
Early in Dart's history, the `+` operator was removed on strings. You could not write: ```dart var hello = 'Hello'; print(hello + 'world!'); ``` The argument at the time was...
Cf. https://github.com/dart-lang/language/issues/1296#issuecomment-1109428611, https://github.com/dart-lang/language/issues/1296#issuecomment-1110075607. Issue #1296 contains several other comments that are relevant to this discussion, but the topic is separate from that of #1296, so here is an issue where...
Extension methods (#41) can _extend_ the set of instance members of an interface type _T_ with a set of members declared outside of _T_. We may describe this as a...
Dart has library declarations of the form `library some.name;` which are no longer commonly used. The name used to be required for having `part` files, but is now not necessary....
It's quite common to use a closure that takes a single parameter, and calls a single function on it. For example, this pattern can be used to ensure that an...
The current Dart parameters can be named or positional, [required or optional, and typed as nullable or non-nullable, and an optional parameter can have a default value or not. Some...
We're starting to investigate a couple of related language changes around tuples, pattern matching, and destructuring. These features touch on other things like "data classes", so I wanted to kick...
Right now a lot of metaprogramming discussion is centered on generating the source and consequently string based metaprogramming API. I think there might be an alternative approach which is much...
For example, is something like `var m = super augment;` allowed? Is it a problem to leak these augmented members? My sense is that we should allow it, and there...