Galima įrankių rinkinio išleidimas Haxe 4.1, kuri apima kelių paradigmų aukšto lygio programavimo kalbą tuo pačiu pavadinimu su stipriu spausdinimu, kryžminį kompiliatorių ir standartinę funkcijų biblioteką. Projektas palaiko vertimą į C++, HashLink/C, JavaScript, C#, Java, PHP, Python ir Lua, taip pat kompiliavimą į JVM, HashLink/JIT, Flash ir Neko baitinį kodą su prieiga prie kiekvienos tikslinės platformos vietinių galimybių. Kompiliatoriaus kodas išplatino pagal GPLv2 licenciją ir standartinę biblioteką bei virtualias mašinas, sukurtas Haxe HashLink и Neko pagal MIT licenciją.
Kalba yra orientuotas į išraišką su stipriu spausdinimu. Palaikomos į objektus orientuotos, bendrosios ir funkcinės programavimo technikos. Haxe sintaksė yra artima ECMAScript ir plečiasi jo funkcijos, pvz., statinis spausdinimas, automatinio tipo išvados, šablonų suderinimas, bendrieji reiškiniai, iteratorius pagrįstos kilpoms, AST makrokomandos, GADT (generalizuoti algebriniai duomenų tipai), abstraktūs tipai, anoniminės struktūros, supaprastinti masyvo apibrėžimai, sąlyginio kompiliavimo išraiškos, metaduomenų pridėjimas prie laukų. , klasės ir išraiškos, eilučių interpoliacija („Mano vardas yra $name“), tipo parametrai („new Main(“foo)“) ir daug daugiau.
Class Test {
statinė funkcija main() {
galutiniai žmonės = [
"Elizabeth" => "Programavimas",
"Joel" => "Dizainas"
];
for (vardas => darbas tarp žmonių) {
trace('$name dirba $darbą pragyvenimui!');
}
}
}
Naujos 4.1 versijos funkcijos:
Pridėtas uodegos rekursijos optimizavimas.
Pridėta nauja vieninga API išimčių tvarkymui.
Konstrukcija „try {} catch(e) {}“ leidžiama kaip „try {} catch(e: haxe.Exception) {}“ trumpinys.
Prie eval interpretatoriaus pridėtas SSL palaikymas.
Tikslinė JVM nebelaikoma eksperimentine.
Prie kalbos serverio protokolo pridėtos funkcijos „Eiti į diegimą“ ir „Rasti nuorodas“.
Patobulintas laikinųjų vietinių kintamųjų įvardijimas sukurtame kode. Pašalintas perteklinis „grįžimas“; rodyklės funkcijose be grąžinamos reikšmės.
php: Sugeneruoti masyvai dabar įgyvendina vietines sąsajas „Iterator“, „IteratorAggregate“, „Countable“.
cs: pridėti metaduomenys „@:assemblyMeta“ ir „@:assemblyStrict“.
python: pridėtas „__contains__“ įgyvendinimas anoniminiams objektams
ir „__getitem__“, kuri leidžia juos naudoti kaip žodynus sugeneruotame kode.
jvm: žymiai pagerintas našumas dėl naujo būdo pasiekti įvestas funkcijas ir generuoti papildomas sąsajas tais atvejais, kai objektai naudojami kaip anoniminės struktūros (neleidžiama dinamiškai ieškoti):
Standartinės bibliotekos patobulinimai:
Pridėta funkcija „Array.contains“.
Pridėta "Array.keyValueIterator", kuri įgyvendina masyvų rakto vertės iteraciją ("for (key => value in masyvas)").