Pieejams rīku komplekta izlaišana Haxe 4.1, kas ietver tāda paša nosaukuma daudzparadigmu augsta līmeņa programmēšanas valodu ar spēcīgu rakstīšanu, savstarpēju kompilatoru un standarta funkciju bibliotēku. Projekts atbalsta tulkošanu uz C++, HashLink/C, JavaScript, C#, Java, PHP, Python un Lua, kā arī kompilāciju uz JVM, HashLink/JIT, Flash un Neko baitu kodu, ar piekļuvi katras mērķa platformas vietējām iespējām. Kompilatora kods izplata saskaņā ar GPLv2 licenci un standarta bibliotēku un virtuālajām mašīnām, kas izstrādātas Haxe HashLink и Neko saskaņā ar MIT licenci.
Valoda ir orientēts uz izteiksmi ar spēcīgu rakstīšanu. Tiek atbalstītas uz objektu orientētas, vispārīgas un funkcionālas programmēšanas metodes. Haxe sintakse ir tuvu ECMAScript un izplešas tā funkcijas, piemēram, statiskā rakstīšana, autotipa secinājumi, modeļu saskaņošana, vispārīgie skaitļi, uz iteratoriem balstītas cilpas, AST makro, GADT (vispārinātie algebrisko datu tipi), abstraktie veidi, anonīmas struktūras, vienkāršotas masīvu definīcijas, nosacījuma kompilācijas izteiksmes, metadatu pievienošana laukiem. , klases un izteiksmes, virkņu interpolācija (“Mans vārds ir $name”), tipa parametri ('new Main("foo")' un daudz vairāk.
klases ieskaite {
statiskā funkcija main() {
galīgie cilvēki = [
"Elizabeth" => "Programmēšana",
"Joel" => "Dizains"
];
for (vārds => darbs cilvēkos) {
trace('$name dara $darbu iztikai!');
}
}
}
Jaunas funkcijas versijā 4.1:
Pievienota astes rekursijas optimizācija.
Pievienota jauna vienota API izņēmumu apstrādei.
Konstrukcija "try {} catch(e) {}" ir atļauta kā saīsinājums vārdam "try {} catch(e: haxe.Exception) {}".
Pievienots SSL atbalsts eval tulkam.
Mērķa JVM vairs netiek uzskatīts par eksperimentālu.
Valodu servera protokolam ir pievienots atbalsts funkcijām “Goto Implementation” un “Find references”.
Uzlabota pagaidu vietējo mainīgo nosaukumu piešķiršana ģenerētajā kodā. Noņemts lieks "atgriešanās;" bultiņu funkcijās bez atgriešanas vērtības.
php: ģenerētie masīvi tagad ievieš vietējās saskarnes “Iterator”, “IteratorAggregate”, “Countable”.
cs: pievienoti metadati "@:assemblyMeta" un "@:assemblyStrict".
python: pievienota "__contains__" ieviešana anonīmiem objektiem
un "__getitem__", kas ļauj tos izmantot kā vārdnīcas ģenerētajā kodā.
jvm: ievērojami uzlabota veiktspēja, pateicoties jaunam veidam, kā piekļūt drukātām funkcijām un ģenerēt papildu saskarnes gadījumos, kad objekti tiek izmantoti kā anonīmas struktūras (tiek novērsta dinamiskā rekvizītu meklēšana):
Uzlabojumi standarta bibliotēkā:
Pievienota funkcija "Array.contains".
Pievienots "Array.keyValueIterator", kas ievieš atslēgas vērtību iterāciju masīviem ("for (key => value in array)").
Pievienots ierobežojuma veids "haxe.Constraints.NotVoid".
“Lambda” klasei ir pievienotas funkcijas “findIndex” un “foldi”.
Ieviesta "masīva piekļuve" (piekļuve, izmantojot "arr[i]") un atslēgas vērtības iterācija "haxe.ds.HashMap".