Berdeste serbestberdana toolkit Haxe 4.1, ku zimanê bernamesaziya pir-paradîgmaya asta bilind a bi heman navî bi tîpên xurt, hevberhevkerek û pirtûkxaneyek standard a fonksiyonan vedihewîne. Proje wergera C++, HashLink/C, JavaScript, C#, Java, PHP, Python û Lua, û hem jî berhevkirina JVM, HashLink/JIT, Flash û Neko bytecode piştgirî dike, bi gihîştina kapasîteyên xwemalî yên her platforma armancê. Koda berhevkar belav kirin ji hêla di bin lîsansa GPLv2 de, û pirtûkxaneya standard û makîneyên virtual ku ji bo Haxe hatine pêşve xistin HashLink и neko di bin lîsansa MIT.
Ziman e îfade-oriented bi tîpên xurt. Teknolojiyên bernamesaziya objekt-oriented, gelemperî û fonksiyonel têne piştgirî kirin. Hevoksaziya Haxe nêzîkî ECMAScript û berfireh dike taybetmendiyên wê yên wekî tîpkirina statîk, înfaza ototîp, hevberdana nimûne, generîk, îterator-based lûpkan, makroyên AST, GADT (Cûreyên Daneyên Cebrî yên Giştî), celebên razber, strukturên nenas, pênaseyên rêzê yên hêsan, vegotinên berhevkirina şertî, girêdana metadata bi qadan , çîn û biwêjan, navberkirina rêzan ("Navê min $name ye"), parametreyên binivîsin ('New Sereke ("foo")') û gelek zêdetir.
testa dersê {
fonksiyona statîk sereke() {
final people = [
"Elizabeth" => "Bernamekirin",
"Joel" => "Design"
];
ji bo (nav => kar di mirovan de) {
trace('$name ji bo debara xwe $kar dike!');
}
}
}
Нововведения версии 4.1:
Добавлена оптимизация хвостовой рекурсии.
API-yek yekbûyî ya nû ji bo karanîna îstîsnayan zêde kir.
Çêkirina "biceribîne {} catch(e) {}" wek kurtenivîsa "ceribandine {} catch(e: haxe.Exception) {} destûr dide.
Piştgiriya SSL li wergêra eval zêde kir.
Armanc JVM êdî ceribandinek nayê hesibandin.
Ji bo Protokola Pêşkêşkara Ziman, piştgirî ji bo fonksiyonên "Pêkanîna Goto" û "Referansê Bibîne" hate zêdekirin.
Di koda hatî çêkirin de navên guhêrbarên herêmî yên demkî çêtir kirin. "vegera" zêde hate rakirin; di fonksiyonên tîrê de bêyî nirxek vegerê.
Kombînasyona gihîştinê (bidestxistin, xwerû) li ser qadan têne destûr kirin (tenê wergir, tevgera peywira xwerû).
Destûrê bide operatorên zêdekirin û kêmkirinê ji bo zeviyan cureyên razber.
Bi karanîna îteratorên nenas ve xêzkirina pêlavên pêşkeftî.
js: Ji bo ES5 pêkanîna StringMap-ê çêtir kirin.
js: В опцию компилятора «-D js-es=6» добавлена генерация let переменных, улучшена генерация ES6 классов.
lua: "StringIterator" xweşbîn kirin, guheztina xeletiyê baştir kirin.
php: Ji bo celebên bingehîn "Std.isOfType" çêtirîn.
php: Rêzikên çêkirî naha navberên xwemalî "Iterator", "IteratorAggregate", "Countable" pêk tînin.
cs: Metadata "@:assemblyMeta" û "@:assemblyStrict" zêde kir.
python: pêkanîna "__contains__" li tiştên nenas zêde kir
û "__getitem__", ku destûrê dide wan ku di koda hatî çêkirin de wekî ferheng werin bikar anîn.
jvm: Bi saya rêgezek nû ya gihîştina fonksiyonên tîpkirî û hilberîna navbeynkariyên zêde di rewşên ku tişt wekî avahiyên nenas têne bikar anîn de performansa berbiçav çêtir bûye (lêgerîna taybetmendiya dînamîkî tê asteng kirin):
Pêşketinên di pirtûkxaneya standard de:
Fonksiyona "Array.contains" lê zêde kir.
Добавлен «Array.keyValueIterator», реализующий key-value итерацию для массивов («for (key => value in array)»).
Tîpa astengiyê "haxe.Constraints.NotVoid" lê zêde kir.
Fonksiyonên "findIndex" û "foldi" li çîna "Lambda" hatine zêdekirin.
Ji bo "haxe.ds.HashMap" "gihîştina array" (gihîştin bi "arr[i]") û dubarekirina nirx-kilît hate pêkanîn.
jvm: Guhertoyên JVM-taybet ên "StringMap", "sys.thread.Lock", "sys.thread.Thread".
java/jvm: Ji bo modulên "haxe.crypto" pêkanînên xwemal ên "MD5", "SHA-1" û "SHA-256" bikar anîn.