On another note, I don't see how modifying AS3 to conform to ES4 would yield much benefit from a developer standpoint considering it is outdated by many versions of the standard.
VegaScript isn't following ES4 standard (and there's no standard; there are only draft works in ecmascript.org at archive.org).
Haxe is kind of convoluted for me, e.g.:
- you write regexps with
~/.../f...
(with a leading tilde),
- built-ins are all capital (
Uint
instead of uint
, Void
),
- there are ugly interfaces in the standard library and
- misses flexibility (such as array/vector type expressions, truthy values; idk if it supports meta operators, however)
I don't need to say much. VegaScript will be back Rust and Cone langs (no unique references, no lifetime parameter stuff, but reference counting and multi-threading, yes).
I've once read the overview about ES4 above and it's really all unnecessary (time waste), but the syntax is as there.
I've nothing against people using Haxe, but VegaScript is different and after Rust/Cone. About the arrow function, I've added it to Vegey parser recently, but it looks ECMAScript-ish, so I'll still leave that for later. I know you can write stuff like:
e => x
([lhs, rhs], ...p) => x
({ vvvvvv }) => x
With ES4 function
you write:
(function (e) x)
(function ([lhs, rhs], ...p) x)
(function ({ vvvvvv }) x)
Secondly, there'll still be the filter predicate:
o.(x == this.x)
o.(el; el.x == x)