Синтаксис haXe подобен Java, ActionScript или C++.
Файл исходного кода состоит из необязательного названия пакета, за которым следует несколько описаний импорта (imports) и типов. Для более чёткого разделения, имена пакетов состоят из нескольких имён-идентификаторов, начинающихся с символов в нижнем регистре, а идентификаторы типов всегда начинаются с заглавных букв.
Существует несколько разновидностей типов. Самые важные из них - классы (class) и перечисления (enum). Вот несколько основных типов, определенных в стандартной библиотеке:
Рассмотрим каждый тип по отдельности:
* Void определен как enum. Enum перечисляет список допустимых конструкторов. Пустое перечисление, например Void, не может иметь каких-либо значений. Тем не менее, это вполне допустимый тип, который может быть определен и использован.
* Float - это класс чисел с плавающей точкой. У него нет никаких методов, так что его реализация может быть существенно оптимизирована на некоторых платформах.
* Int - целое число. У него также нет методов, но он является наследником класса Float, поэтому везде, где нужен Float, вы можете использовать Int, но не наоборот.
* Bool - это перечисление, как и Void, но у него есть два экземпляра true и false. Как видно из этого, даже стандартные типы могут быть легко определены с помощью системы типов hAxe. Это также означает, что вы можете определять свои собственные типы.
* Dynamic это перечисление с параметром типа (type parameter). Более подробная информация о том, как использовать параметры типов будет дана далее в описании языка.