Tuesday, August 7, 2012

Looking ahead to post-M1

Posted by Bob Nystrom

Gilad is in Denmark with Lars and Kasper, and they spent a bunch of time discussing post-M1 stuff like:
- async
- mixins
- dynamic loading

But we don't have anything concrete just yet.

We're working to unify our fractured core libraries (dart2js and the native VM both have their own completely separate implementations of corelib, which makes lots of stuff annoying). Part of that is adding support for "external" methods. This will let us have a single core library that delegates the implementation of certain methods to implementation-specific (i.e. C++ or JS) code.

Lars says this "external" stuff is nice because it means you have one library to step into in the editor.

Gilad has added this to his under-development version of the spec, but it hasn't been released yet.

I brought up that people keep asking why our getter/setter syntax isn't more like C#. Lars says it's mostly a matter of taste. He likes that the current syntax is less verbose compared to C# when you aren't defining both a getter and a setter.

Kasper pointed out that C#-style properties have two levels of nesting which is unlike anything else in a class definition. Also, our current syntax is very close to the ECMAScript 6 syntax.