What's New in Haxe 3.3.0 RC1?
The Haxe Foundation officially released Haxe 3.3.0
RC1 on 27th May 2016. Among the various
bug fixes and general improvements the following are, in my opinion, the most notable additions in Haxe
You can read more about Justin's work on writing the Lua target in his recent WWX 2016 Interview.
The only thing that is known is that Kha can compile and run Tetris in HL.
Even though this is listed under
General improvements and optimizations, Hugh Sanderson has
rewritten the entire backend that generates CPP code, which is largely a cosmetic change. Any performance improvements will come from
Hugh's recent release of HXCPP
3.3.46 available now from HaxeLib, accompanied by
NME, AcadNME, GM2D and NME-ToolKit releases.
For more information on optimizations and performance improvements you'll have to wait until Hugh's WWX 2016 slides are available or the talk is published online.
A brand new feature, also known as defaults, allows you to define
using's that get applied to all
modules inside your directory.
Abstracts can now resolve dot access either at runtime, using the
@:resolve meta or during the macro context with an operator overload
Results in the following output, edited for brevity.<script src="https://gist.github.com/skial/3a38fa5fc19d2a3ae6d06d9ec0899fbd.js?file=main.js#file-main-js-L2-L34"></script>
You can now use abstracts as externs. The HF unit test
Issue4862.hx demonstrates this perfectly.
@:native metadata, the abstract is renamed to match the extern object and by using it as an
you gain all the pattern matching abilities but on a native type.
A brand new keyword has been added,
is, used like
(expr is Type). Currently this gets translated
Std.is(expr, Type). As far as I'm aware, this has been added as progress towards Haxe