What? DART is evolving

Google updates Dart language spec

LouisGoddard
Dart-Logo

The team behind Google’s Dart programming language has released version 0.08 of the language’s official specification

The team behind Google’s Dart programming language, which
aims to rival
JavaScript as “the lingua franca of web development”, has released
version 0.08 of the language’s official specification. Published on
Friday, the update includes changes to Dart’s handling of the
‘equals’ operator and various modifications to do with initialising
variables.

Dart’s rapidly evolving spec underlines its status as the
scrappy young challenger to JavaScript’s established presence, with
the language’s engineers attempting to outflank and improve upon
JS’s weak points with every new release. But this rapid iteration
may not be enough to topple the reigning king — as Mozilla’s Allen
Wirfs-Brock
pointed out
at QCon London earlier this month, JavaScript
already has such a huge foothold in browser support and practical
implementation that it is difficult to imagine any competitor
gaining serious ground in the next five or so years.

The full changelog from the 0.08 spec update is below:


5:
 Static variables are lazily initialized, but need not
be constants. Orthogonal notion of constant variable
introduced.


7.1.2:
Added equals operator as part of revised ==
treatment.


7.5.1:
Initializing formals have the same type as the field
they correspond to.


7.7:
Static variable getter rules revised to deal with lazy
initialization.


10:
Modified syntax to support cascaded method invocations.


10.1:
Removed support for + operator on Strings. Extended
string constants to support certain cases of string interpolation.
Revised constants to deal with constant variables


10.5:
Corrected definition of HEX_DIGIT_SEQUENCE. Support
implicit concatenation of adjacent single line strings.


10.13.2:
Centralized and corrected type rules for function
invocation.


10.14:
Moved rules for checking function/method invocations to
10.1.3.2. Added definition of cascaded method invocations.


10.15
,
10.16
: Updated noSuchMethod() call for getters and setters to
conform to planned API.


10.17:
Modified syntax to support cascaded method
invocations.


10:20:
Revised semantics for ==.


10:28:
Removed import, library and source from list of built-in
identifiers. Revised rules for evaluating identifiers to deal with
lazy static variable initialization.


11.13:
Fixed bug that allowed continue labeled on
non-loops.


12
: Revised syntax so no space is permitted between # and
directives. Introduced show: combinator. Describe prefix: as a
combinator. Added initial discussion of namespaces. Preclude string
interpolation in arguments to directives.

Head over to the Dart blog to read the official

release announcement
, or download the specification in PDF or
HTML format from its own dedicated page. While the
Dart team is working to introduce all the new changes as soon as
possible, they emphasise that “[n]ot everything is implemented by
both the Dart VM and the Dart to JavaScript compiler yet.”

Author
Comments
comments powered by Disqus