HHVM and Hack Documentation
- Some simple steps to install Hack, writing and running your first program, and some information about Hack-related tools.
- The basic source-code elements, program structure, name scope, scripts and script inclusion, and namespaces.
- Predefined and user-defined types, type conversion, type aliasing, supertypes and subtypes, and type inferencing.
- Full expressions, side-effects, precedence and associativity, order-of-evaluation, and all the operators.
- Compound statements, labeled statements, expression statements, selection statements, iteration statements, jump statements, and other statements.
- Defining and calling functions and methods, and anonymous functions (writing closures and lambdas).
- Defining basic classes, member visiblity, implementing interfaces, inheritance, using traits, and serialization.
- Generic types and functions, type parameters, type constraints, type arguments, and variance.
- How async programming lets apps scale better and reduces blocking.
- Declarative information that can be attached to various program entities, and retrieved at run-time via reflection.
- A reusable and customizable UI system that automatically handles escaping and XSS protection.
Full reference docs for all functions, classes, interfaces, and traits in the Hack language.
Full reference docs for all functions, classes, interfaces, and traits in the Hack Standard Library (HSL).
- Get started with HHVM quickly and easily.
- How to install HHVM on a supported platform.
- The easiest way to run HHVM, with sensible defaults.
- Advanced usage, with more ways to run and configure HHVM.
- How to configure HHVM with various user-configurable options.
- The built in and dynamic extensions that HHVM currently supports.
- Differences between HHVM and the PHP engine when running code.
- Common information and questions regarding HHVM.