Mevcut araç seti sürümü 4.1Güçlü yazım, çapraz derleyici ve standart bir işlev kitaplığı ile aynı adı taşıyan çok paradigmalı üst düzey programlama dilini içerir. Proje, her hedef platformun yerel özelliklerine erişimle birlikte C++, HashLink/C, JavaScript, C#, Java, PHP, Python ve Lua'ya çevirinin yanı sıra JVM, HashLink/JIT, Flash ve Neko bayt koduna derlemeyi destekler. Derleyici kodu tarafından dağıtıldı GPLv2 lisansı ve Haxe için geliştirilen standart kütüphane ve sanal makineler kapsamında HashLink и bazı MIT lisansı altında.
Dil ifade odaklı güçlü yazımla. Nesneye yönelik, genel ve işlevsel programlama teknikleri desteklenmektedir. Haxe sözdizimi ECMAScript'e yakındır ve genişler statik yazma, otomatik tür çıkarımı, desen eşleştirme, jenerikler, yineleyici tabanlı for döngüleri, AST makroları, GADT (Genelleştirilmiş Cebirsel Veri Türleri), soyut türler, anonim yapılar, basitleştirilmiş dizi tanımları, koşullu derleme ifadeleri, alanlara meta veriler ekleme gibi özellikleri , sınıflar ve ifadeler, dize enterpolasyonu (“'Benim adım $isim'”), tür parametreleri ('yeni Ana ("foo")') ve daha fazla.
sınıf Testi {
statik işlev ana() {
son kişiler = [
"Elizabeth" => "Programlama",
"Joel" => "Tasarım"
];
for (isim => insanlardaki iş) {
trace('$isim geçimini sağlamak için $iş yapıyor!');
}
}
}
Sürüm 4.1'deki yeni özellikler:
Kuyruk özyineleme optimizasyonu eklendi.
İstisna yönetimi için yeni bir birleştirilmiş API eklendi.
"try {} catch(e) {}" yapısına "try {} catch(e: haxe.Exception) {}" için kısa yol olarak izin verilir.
Değerlendirme yorumlayıcısına SSL desteği eklendi.
Hedef JVM artık deneysel olarak kabul edilmiyor.
Dil Sunucusu Protokolü için “Uygulamaya Git” ve “Referans Bul” işlevleri desteği eklendi.
Oluşturulan koddaki geçici yerel değişkenlerin adlandırılması iyileştirildi. Gereksiz "geri dönüş" kaldırıldı; dönüş değeri olmayan ok fonksiyonlarında.
Alanlarda erişim birleşimlerine (alma, varsayılan) izin verilir (yalnızca alıcı, varsayılan atama davranışı).
Alanlar için artırma ve azaltma işleçlerine izin ver soyut türleri.
Anonim yineleyiciler kullanılarak for döngülerinin satır içi kullanımı iyileştirildi.
Node.js: ES5 için geliştirilmiş StringMap uygulaması.
lua: "StringIterator" optimize edildi, hata yönetimi iyileştirildi.
php: Temel türler için "Std.isOfType" optimize edildi.
php: Oluşturulan diziler artık “Iterator”, “IteratorAggregate”, “Countable” yerel arayüzlerini uyguluyor.
cs: "@:assemblyMeta" ve "@:assemblyStrict" meta verileri eklendi.
python: anonim nesnelere "__contains__" uygulaması eklendi
ve oluşturulan kodda sözlük olarak kullanılmalarına olanak tanıyan "__getitem__".
jvm: Nesnelerin anonim yapılar olarak kullanıldığı durumlarda (dinamik özellik araması engellenir) yazılan işlevlere erişmenin ve ek arayüzler oluşturmanın yeni yolu sayesinde önemli ölçüde iyileştirilmiş performans: