Язык является expression-ориентированным со строгой типизацией. Поддерживаются приёмы объектно-ориентированного, обобщённого и функционального программирования. Синтаксис Haxe близок к ECMAScript и расширяет его такими возможностями как статическая типизация, автовывод типов, сопоставление шаблонов, дженерики, основанный на итераторах цикл «for», AST-макросы, GADT (Generalized Algebraic Data Types), абстрактные типы, анонимные структуры, упрощённые определения массивов, выражения для условной компиляции, прикрепление метаданных к полям, классам и выражениям, интерполяция строк («‘My name is $name'»), параметры типов (‘new Main{String>(«foo»)’) и многое другое.
     class Test {       static function main() {         final people = [           "Elizabeth" =› "Programming",           "Joel" =› "Design"         ];           for (name =› job in people) {           trace('$name does $job for a living!');         }       }      }  
Нововведения версии 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 классов.
 - lua: оптимизирован «StringIterator», улучшена обработка ошибок.
 - 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».
 - macro: Добавлен «haxe.macro.Context.containsDisplayPosition(pos)».
 - nullsafety: режим «Strict» теперь рассматривается как однопоточный; добавлен режим «StrictThreaded».
 - «Std.is» объявлен устаревшим в пользу «Std.isOfType».
 - Добавлено предупреждение при использовании локальных переменных без значений в замыканиях.
 - js: «untyped __js__(code, args)» объявлен устаревшим, взамен предоставляется «js.Syntax.code(code, args)».
 - php/neko: «neko.Web» и «php.Web» объявлены устаревшими и будут позже перенесены в библиотеку «hx4compat».
 
В следующем релизе планируются:
- Улучшение пакетного менеджера haxelib.
 - Асинхронное системное API на основе libuv.
 - Сопрограммы (coroutines).
 - Объявление модульных статических функций и переменных без создания классов (уже доступно в ночных сборках).
 
Источник: http://www.opennet.ru/opennews/art.shtml?num=52974
