Haxe
  • Home
  • Download
  • Blog
  • Use Cases
    • Overview
    • Games
    • Web
    • Mobile
    • Desktop
    • Command Line
    • Cross Platform APIs
    • Who Uses Haxe
  • Haxe Foundation
    • About The Foundation
    • Who is who
    • Jobs
    • Supported Projects
    • Support Plans
    • Donate
    • Branding
    • Shop
    • Open Source
    • Contact
  • Support Plans
  • Learn Haxe
    • Introduction
    • Manual
    • Code Cookbook
    • API Documentation
    • Videos
    • Try Haxe online
    • Haxelib
  • Connect
    • GitHub
    • Bug reports
    • Stack Overflow
    • Forums
    • Discord
    • Gitter
    • Blog
    • Facebook
    • #haxe
    • @haxelang
    • @haxe_org
    • Contact
Authors and contributionsHello World
  • Introduction
    • What is Haxe?
    • About this Document
      • Authors and contributions
      • License
    • Hello World
    • History
  • Types
    • Basic Types
      • Numeric types
      • Overflow
      • Bool
      • Void
      • Nullability
      • Optional Arguments and Nullability
    • Class Instance
      • Class constructor
      • Inheritance
      • Interfaces
      • Abstract Class
    • Enum Instance
      • Enum Constructor
      • Using enums
    • Anonymous Structure
      • JSON for Structure Values
      • Class Notation for Structure Types
      • Optional Fields
      • Impact on Performance
      • Extensions
    • Function Type
      • Optional Arguments
      • Default values
    • Dynamic
      • Dynamic with Type Parameter
      • Dynamic access
      • Any type
    • Abstract
      • Access to Underlying Data
      • Implicit Casts
      • Operator Overloading
      • Array Access
      • Enum abstracts
      • Forwarding abstract fields
      • Core-type abstracts
    • Monomorph
  • Type System
    • Typedef
    • Type Parameters
      • Constraints
      • Defaults
    • Generic
      • Construction of generic type parameters
    • Variance
    • Unification
      • Between Class/Interface
      • Structural Subtyping
      • Monomorphs
      • Function Return
      • Common Base Type
    • Type Inference
      • Top-down Inference
      • Limitations
    • Modules and Paths
      • Module Sub-Types
      • Import
      • Import defaults / import.hx
      • Resolution Order
    • untyped
  • Class Fields
    • Variable
    • Property
      • Common accessor identifier combinations
      • Impact on the type system
      • Rules for getter and setter
    • Method
      • Overriding Methods
      • Effects of variance and access modifiers
    • Access Modifier
      • Visibility
      • Inline
      • Dynamic
      • Override
      • Static
      • Extern
      • Final
  • Expressions
    • Blocks
    • Literals
      • Array Declaration
      • Map Declaration
      • Object Declaration
    • Constants
    • Operators
      • Unary Operators
      • Binary Operators
      • Ternary Operator
      • Precedence
      • Overloading and macros
    • Field Access
    • Null coalescing
    • Array Access
    • Function Call
    • var and final
    • Local static variables
    • Local Functions
    • new
    • for
    • while
    • do-while
    • if
    • switch
    • throw
    • try/catch
    • return
    • break
    • continue
    • cast
      • unsafe cast
      • safe cast
    • type check
    • inline
  • Language Features
    • Conditional Compilation
      • Target defines
      • Target-Specific Files
      • Custom defines documentation
    • Externs
      • Native Metadata
      • Implementing Dynamic
    • Static Extension
      • In the Haxe Standard Library
      • Static Extension Metadata
    • Pattern Matching
      • Introduction
      • Enum matching
      • Variable capture
      • Structure matching
      • Array matching
      • Or patterns
      • Guards
      • Match on multiple values
      • Extractors
      • Exhaustiveness checks
      • Useless pattern checks
      • Single pattern check
    • String Interpolation
    • Array Comprehension
    • Map Comprehension
    • Iterators
    • Function Bindings
    • Metadata
      • Custom metadata documentation
    • Access Control
    • Inline Constructors
  • Compiler Usage
    • HXML
    • Global Compiler Flags
    • Error Reporting
  • Compiler Features
    • Built-in Compiler Metadata
    • Dead Code Elimination
    • Compiler Services
      • Overview
      • Field access completion
      • Call argument completion
      • Type path completion
      • Usage completion
      • Position completion
      • Top-level completion
      • Completion server
    • Resources
      • Embedding resources
      • Retrieving text resources
      • Retrieving binary resources
      • Implementation details
    • Runtime Type Information
    • Static Analyzer
    • Loop unrolling
    • Tail Recursion Elimination (TRE)
    • Null Safety
    • Warnings
  • Macros
    • Macro Context
    • Arguments
      • ExprOf
      • Constant Expressions
      • Rest Argument
    • Reification
      • Expression Reification
      • Type Reification
      • Class Reification
    • Tools
    • Type Building
      • Enum building
      • @:autoBuild
      • @:genericBuild
    • Limitations
      • Macro-in-Macro
      • Static extension
      • Build Order
      • Type Parameters
    • Persistent Variables
    • Initialization Macros
  • Standard Library
    • String
      • String literals
      • Unicode
      • Encoding
    • Data Structures
      • Array
      • Vector
      • List
      • GenericStack
      • Map
      • Option
    • Regular Expressions
      • Matching
      • Groups
      • Replace
      • Split
      • Map
      • Implementation Details
    • Math
      • Special Numbers
      • Mathematical Errors
      • Integer Math
      • Extensions
    • Lambda
    • Template
    • Reflection
    • Serialization
      • Serialization format
    • Xml
      • Getting started with Xml
      • Parsing Xml
      • Encoding Xml
      • Simplified Xml access
    • Json
      • Parsing JSON
      • Encoding JSON
      • Implementation details
    • Input/Output
    • Sys
      • Threading
      • Standard IO Streams
      • Process
    • Remoting
      • Remoting Connection
      • Implementation details
    • Unit Testing
    • Haxe 3 Compatibility
  • Haxelib
  • Target Details
    • Accessing Target-specific Syntax
    • JavaScript
      • Getting started with Haxe/JavaScript
      • ECMAScript 6 class generation
      • Using external JavaScript libraries
      • JavaScript target Metadata
      • Exposing Haxe classes for JavaScript
      • Loading extern classes using "require" function
    • Flash
      • Getting started with Haxe/Flash
      • Embedding resources
      • Using external Flash libraries
      • Flash target Metadata
    • Neko
      • Getting started with Haxe/Neko
    • PHP
      • Getting started with Haxe/PHP
      • Defines
    • C++
      • Getting started with Haxe/C++
      • The Hxcpp Build Environment
      • Build.xml
        • Structure of the top-level
        • Files
        • Tags
        • Targets
        • Compiler
        • Linker
        • Stripper
        • The Haxe Target
        • Xml Injection
      • Defines
      • The Hxcpp Cache
      • Threads And Stacks
    • Cppia
      • Getting started with Haxe/Cppia
    • Java
      • Getting started with Haxe/Java
    • JVM
      • Getting started with Haxe/JVM
    • C#
      • Getting started with Haxe/C#
      • .NET version and external libraries
      • Haxe/C# Defines
      • Haxe/C# Metadata
      • Injecting raw C# code
    • Python
      • Getting started with Haxe/Python
    • Lua
      • Getting started with Haxe/Lua
      • Using external Lua libraries
      • Version flags
      • Multireturns
    • HashLink
      • Getting started with Haxe/HashLink
      • HashLink/C Compilation
  • Debugging
    • Logging and Trace
    • Position Information Parameter
    • Tracing Types
    • IDE Integration
    • Debugging in JavaScript
    • Source Maps
      • Source Maps in JavaScript
      • Source Maps in PHP7

1.2.2 License

The Haxe Manual by Haxe Foundation is licensed under a Creative Commons Attribution 4.0 International License.

Based on a work at github.com/HaxeFoundation/HaxeManual.

Authors and contributionsContribute to this pageHello World

  • Home
    Download
    Blog
    Support Plans
  • Use Cases
    • Overview
    • Games
    • Web
    • Mobile
    • Desktop
    • Command Line
    • Cross Platform APIs
    • Who Uses Haxe
  • Haxe Foundation
    • About The Foundation
    • Who is who
    • Jobs
    • Supported Projects
    • Support Plans
    • Donate
    • Branding
    • Shop
    • Open Source
    • Contact
  • Learn Haxe
    • Introduction
    • Manual
    • Code Cookbook
    • API Documentation
    • Videos
    • Try Haxe online
    • Haxelib

© 2025 Haxe Foundation | Contribute to this page