ઉપલબ્ધ છે ટૂલકીટ રિલીઝ હેક્સ 4.1, включающего одноимённый мультипарадигменный высокоуровневый язык программирования со строгой типизацией, кросс-компилятор и стандартную библиотеку функций. Проектом поддерживается трансляция в С++, HashLink/C, JavaScript, C#, Java, PHP, Python и Lua, а также компиляция в байт-код JVM, HashLink/JIT, Flash и Neko, с доступом к родным возможностям каждой целевой платформы. Код компилятора દ્વારા વિતરિત под лицензией GPLv2, а стандартной библиотеки и развиваемых для Haxe виртуальных машин HashLink и નેકો MIT લાયસન્સ હેઠળ.
ભાષા છે અભિવ્યક્તિ લક્ષી со строгой типизацией. Поддерживаются приёмы объектно-ориентированного, обобщённого и функционального программирования. Синтаксис Haxe близок к ECMAScript и વિસ્તરે છે его такими возможностями как статическая типизация, автовывод типов, сопоставление шаблонов, дженерики, основанный на итераторах цикл «for», AST-макросы, GADT (Generalized Algebraic Data Types), абстрактные типы, анонимные структуры, упрощённые определения массивов, выражения для условной компиляции, прикрепление метаданных к полям, классам и выражениям, интерполяция строк («‘My name is $name'»), параметры типов (‘new Main<String>(«foo»)’) и ઘણું વધારે.
વર્ગ પરીક્ષણ {
સ્થિર કાર્ય મુખ્ય() {
final people = [
"એલિઝાબેથ" => "પ્રોગ્રામિંગ",
"જોએલ" => "ડિઝાઇન"
];
for (name => job in people) {
ટ્રેસ('$નામ જીવન માટે $નોકરી કરે છે!');
}
}
}
Нововведения версии 4.1:
Добавлена оптимизация хвостовой рекурсии.
Добавлено новое унифицированное API для обработки исключений.
Разрешена конструкция «try {} catch(e) {}» как сокращение для «try {} catch(e: haxe.Exception) {}».
В интерпретатор eval добавлена поддержка SSL.
Целевая платформа JVM больше не считается экспериментальной.
Для Language Server Protocol добавлена поддержка функций «Goto Implementation» и «Find references».
Улучшено именование временных локальных переменных в сгенерированном коде. Удалены избыточные «return;» в стрелочных функциях без возвращаемого значения.
К полям разрешена комбинация доступа (get, default) (только геттер, поведение для присваивания по умолчанию).
Разрешены операторы инкремента и декремента для полей абстрактных типов.
Улучшено встраивание (inlining) for-циклов с использованием анонимных итераторов.
js: Улучшена реализация StringMap для ES5.
js: В опцию компилятора «-D js-es=6» добавлена генерация let переменных, улучшена генерация ES6 классов.
php: Оптимизирован «Std.isOfType» для базовых типов.
php: Сгенерированные массивы теперь реализуют нативные интерфейсы «Iterator», «IteratorAggregate», «Countable».
cs: Добавлены метадаты «@:assemblyMeta» и «@:assemblyStrict».
python: в анонимные объекты добавлена реализация «__contains__»
и «__getitem__», что позволяет использовать их как словари в сгенерированном коде.
jvm: Значительно повышена производительность благодаря новому способу обращения к типизированным функциям и генерации дополнительных интерфейсов в случаях использования объектов как анонимных структур (предотвращен динамический поиск свойств):
Улучшения в стандартной библиотеке:
Добавлена функция «Array.contains».
Добавлен «Array.keyValueIterator», реализующий key-value итерацию для массивов («for (key => value in array)»).
Добавлено ограничение типа «haxe.Constraints.NotVoid».
В класс «Lambda» добавлены функции «findIndex» и «foldi».
Реализован «array access» (доступ через «arr[i]») и key-value итерация для «haxe.ds.HashMap».
jvm: Реализованы JVM-специфичные версии «StringMap», «sys.thread.Lock», «sys.thread.Thread».
java/jvm: Использованы нативные реализации «MD5», «SHA-1» и «SHA-256» для модулей «haxe.crypto».