# haxefoundation/haxe

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/haxefoundation-haxe).**

6,880 stars · 700 forks · Haxe · NOASSERTION

## Links

- GitHub: https://github.com/HaxeFoundation/haxe
- Homepage: https://haxe.org
- awesome-repositories: https://awesome-repositories.com/repository/haxefoundation-haxe.md

## Topics

`compiler` `cross-platform` `haxe` `jvm-languages` `language` `macros` `programming-language` `transpiler`

## Description

Haxe is a statically typed, multi-target programming language and open-source compiler toolkit that translates a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets. It provides a unified type system with automatic type inference, a compile-time macro system for code transformation and generation, conditional compilation directives, and a static analysis engine that enforces null safety and eliminates dead code to produce smaller, safer outputs.

The language is supported by the HashLink virtual machine, which executes platform-agnostic bytecode with JIT compilation and precise garbage collection, and can also compile that bytecode into native C binaries for maximum performance. Haxe includes a foreign function interface for generating bindings to native platform APIs, runtime type reflection and introspection, and a built-in interpreter for macro execution and standalone scripting. Its development workflow is further enhanced by an async timer scheduler, function piping, struct-based class instantiation, and an interpreted code debugger.

Beyond its core language and compiler, Haxe provides a standard library with consistent cross-platform APIs for data types, collection iteration, JSON parsing, mathematical computation, ZLIB compression, and standard I/O and networking. For graphics and user interface work, it offers access to the full OpenGL 3.2+ API, SDL window management, OS dialog boxes, and input event handling for mouse, keyboard, and game controllers. The ecosystem includes a package manager for downloading and managing third-party libraries from a central registry, and the toolkit is available through multiple installation methods including package managers, development repositories, and direct downloads.

## Tags

### Programming Languages & Runtimes

- [Multi-Language Backend Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/cross-platform-compilers/multi-language-backend-compilers.md) — Compiles a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets.
- [Automatic Type Inferences](https://awesome-repositories.com/f/programming-languages-runtimes/automatic-type-inferences.md) — Determines variable and expression types from usage so developers write less explicit type annotations. ([source](https://haxe.org/))
- [HashLink Bytecode Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-compiled-languages/source-to-bytecode-compilers/hashlink-bytecode-compilers.md) — Compiles Haxe source code into platform-agnostic bytecode for the HashLink virtual machine. ([source](https://hashlink.haxe.org/))
- [JIT-Compiled Bytecode Execution](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-virtual-machines/jit-compiled-bytecode-execution.md) — Executes HashLink bytecode through a JIT-compiling virtual machine for rapid development and testing. ([source](https://hashlink.haxe.org/))
- [JIT-Compiled Bytecode Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-virtual-machines/jit-compiled-bytecode-runtimes.md) — Provides the HashLink virtual machine with JIT compilation and precise garbage collection for bytecode execution.
- [JIT-Enabled Bytecode VMs](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-virtual-machines/jit-enabled-bytecode-vms.md) — Provides the HashLink virtual machine that executes platform-agnostic bytecode with JIT compilation.
- [Dead Code Elimination Engines](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-toolchains/optimization-frameworks/static-analysis-optimizers/dead-code-elimination-engines.md) — Includes a static analysis engine that detects dead code and enforces null safety at compile time.
- [Foreign Function Bindings](https://awesome-repositories.com/f/programming-languages-runtimes/foreign-function-bindings.md) — Generates foreign function bindings to call native platform APIs directly from cross-platform code.
- [Direct Source Interpreters](https://awesome-repositories.com/f/programming-languages-runtimes/interpreter-mode-configurations/direct-source-interpreters.md) — Ships a built-in interpreter for executing Haxe source directly without compilation. ([source](https://haxe.org/))
- [Multi-Target Code Generation](https://awesome-repositories.com/f/programming-languages-runtimes/multi-target-code-generation.md) — Translates a single abstract syntax tree into platform-specific code for JavaScript, C++, C#, Java, and more.
- [Multi-Runtime Languages](https://awesome-repositories.com/f/programming-languages-runtimes/multi-target-systems-languages/multi-runtime-languages.md) — A statically typed language with type inference, macros, and conditional compilation targeting multiple runtime environments.
- [Multi-Target Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/multi-target-compilers.md) — Compiles source code into executables for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets. ([source](https://haxe.org/))
- [Cross-Platform Binary Generation](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/multi-target-compilers/cross-platform-binary-generation.md) — Compiles a single codebase into native binaries for Windows, macOS, Linux, and other targets. ([source](https://cdn.jsdelivr.net/gh/haxefoundation/haxe@development/README.md))
- [Standard Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/standard-libraries.md) — Provides a standard library with consistent cross-platform APIs for data types, I/O, and networking. ([source](https://haxe.org/documentation/))
- [Interpreted Code Debuggers](https://awesome-repositories.com/f/programming-languages-runtimes/language-interpreters/interpreted-code-debuggers.md) — Steps through and inspects running Haxe programs by attaching a debugger to the interpreter. ([source](https://haxe.org/blog/eval/))
- [Bytecode-to-C Backends](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/native-code-backends/bytecode-to-c-backends.md) — Converts HashLink bytecode into C source code for native compilation to maximize performance. ([source](https://hashlink.haxe.org/))

### Data & Databases

- [Platform-Specific Type Mappings](https://awesome-repositories.com/f/data-databases/data-type-definitions/abstract-type-systems/platform-specific-type-mappings.md) — Provides a unified type system that maps to platform-specific representations across all compilation targets.

### Development Tools & Productivity

- [Macro-Based Code Transformations](https://awesome-repositories.com/f/development-tools-productivity/ast-transformation-tools/ast-to-source-conversion/source-code-rewriting/compile-time-identifier-rewriting/macro-based-code-transformations.md) — Provides a compile-time macro system for rewriting and generating code during compilation. ([source](https://haxe.org/))
- [Compiler Configurations](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-configuration-systems/compiler-configurations.md) — Controls compilation behavior through command-line flags and configuration files for output generation. ([source](https://haxe.org/documentation/))
- [Code Execution Profilers](https://awesome-repositories.com/f/development-tools-productivity/code-execution-profilers.md) — Measures per-function execution time with a compiler flag to identify runtime bottlenecks. ([source](https://haxe.org/blog/eval/))
- [Null Safety Enforcement](https://awesome-repositories.com/f/development-tools-productivity/dead-code-elimination/null-safety-enforcement.md) — Enforces null safety at compile time through static analysis to prevent null pointer errors.
- [Conditional Compilation Directives](https://awesome-repositories.com/f/development-tools-productivity/native-compilation/cross-platform/conditional-compilation-directives.md) — Embeds conditional compilation directives and extern definitions to access native APIs while keeping the codebase shared. ([source](https://haxe.org/manual/))
- [Package Dependency Management](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-management.md) — Includes a package manager for downloading and managing third-party libraries from a central registry. ([source](https://cdn.jsdelivr.net/gh/haxefoundation/haxe@development/README.md))
- [Built-In Language Interpreters](https://awesome-repositories.com/f/development-tools-productivity/script-interpreters/built-in-language-interpreters.md) — Runs Haxe source code directly through a built-in interpreter for macro execution and scripting. ([source](https://haxe.org/blog/eval/))

### DevOps & Infrastructure

- [Integrated Development Toolchains](https://awesome-repositories.com/f/devops-infrastructure/build-toolchains/integrated-development-toolchains.md) — Provides a complete open-source toolchain including compiler, standard library, package manager, and debugger.
- [Conditional Compilation](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-configuration-governance/platform-specific-source-resolution/conditional-compilation.md) — Provides conditional compilation directives to include or exclude code based on target platform flags.

### Mobile Development

- [Cross-Platform Application Development](https://awesome-repositories.com/f/mobile-development/cross-platform-application-development.md) — Enables building applications that run on multiple operating systems from a single codebase.

### Operating Systems & Systems Programming

- [Network and Regex Operations](https://awesome-repositories.com/f/operating-systems-systems-programming/file-i-o-management/i-o-polling/file-and-console-i-o/network-and-regex-operations.md) — Provides standard I/O, networking, and regular expression processing through the runtime. ([source](https://hashlink.haxe.org/))
- [Primitive Data Type Access](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/memory-allocation-libraries/low-level-system-operations/low-level-systems-programming/primitive-data-type-access.md) — Provides direct access to low-level data types like pointers, floats, and 8/16-bit integers. ([source](https://hashlink.haxe.org/))
- [Precise Garbage Collectors](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/automated-reclamation-systems/garbage-collection/precise-garbage-collectors.md) — Includes a precise garbage collector in the HashLink virtual machine for automatic memory management. ([source](https://hashlink.haxe.org/))
- [Platform API Access](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-api-access.md) — Generates bindings to call native platform APIs and system libraries directly from cross-platform code. ([source](https://api.haxe.org/))

### Software Engineering & Architecture

- [Abstract Syntax Tree Transformations](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-code-generation/compile-time-hooks/abstract-syntax-tree-transformations.md) — Ships a compile-time macro system that rewrites and generates abstract syntax tree nodes.
- [Macro-Driven Transformations](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-code-generation/macro-driven-transformations.md) — Provides a compile-time macro system for rewriting and generating code during compilation.
- [Cross-Platform Data Structures](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-data-integration/cross-platform-data-structures.md) — Provides a unified type system that maps to platform-specific representations across all supported targets. ([source](https://haxe.org/manual/))

### Testing & Quality Assurance

- [Static Code Analysis](https://awesome-repositories.com/f/testing-quality-assurance/static-code-analysis.md) — Includes a static analysis engine that detects dead code and enforces null safety at compile time. ([source](https://haxe.org/))

### Part of an Awesome List

- [Runtime Reflection](https://awesome-repositories.com/f/awesome-lists/devtools/runtime-reflection.md) — Provides runtime type introspection and dynamic value manipulation through a cross-platform reflection API.

### Game Development

- [Multi-Platform Game Compilation](https://awesome-repositories.com/f/game-development/cross-platform-game-clients/cross-platform-game-compilation/multi-platform-game-compilation.md) — Compiles game code to multiple platforms including desktop, mobile, and web from a single source.

### Graphics & Multimedia

- [OpenGL Graphics Programming](https://awesome-repositories.com/f/graphics-multimedia/opengl-graphics-programming.md) — Provides access to the full OpenGL 3.2+ API for hardware-accelerated 2D and 3D graphics rendering. ([source](https://hashlink.haxe.org/))

### Scientific & Mathematical Computing

- [Standard Mathematical Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/standard-mathematical-libraries.md) — Provides mathematical functions and constants including trigonometric, logarithmic, and random number generation. ([source](https://api.haxe.org/))

### User Interface & Experience

- [SDL Window Managers](https://awesome-repositories.com/f/user-interface-experience/application-window-managers/sdl-window-managers.md) — Provides SDL-based window management for creating cross-platform graphical applications. ([source](https://hashlink.haxe.org/))
- [Game Controller Input Handling](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/event-handling-architectures/input-event-dispatchers/game-controller-input-handling.md) — Captures mouse, keyboard, and game controller input events for interactive applications. ([source](https://hashlink.haxe.org/))

### Web Development

- [Package Registry Management](https://awesome-repositories.com/f/web-development/cross-platform-libraries/package-registry-management.md) — Includes a package manager for downloading and managing third-party libraries from a central registry.
- [Platform-Specific Feature Integrations](https://awesome-repositories.com/f/web-development/cross-platform-styling/platform-specific-styling/platform-specific-feature-integrations.md) — Uses platform-specific features on iOS, Android, HTML5 browsers, servers, and desktop operating systems. ([source](https://haxe.org/))
