HHVM and Hack Documentation
Hack
Learn
Getting Started
Installing Hack, running your first program, and introducing the tools.Source Code Fundamentals
Basic syntax, namespaces, and the autoloader.Expressions And Operators
Expressions, operators, associativity, and precedence.Statements
Simple statements, blocks, and loops.Functions
Named functions, anonymous functions and parameters.Classes
Classes, interfaces and traits.Arrays And Collections
Hack arrays, PHP arrays, and mutable collections.Types
The type checker.Built In Types
Built-in types known to the type checker.Generics
Generic types, where constraints, and variance.Contexts And Capabilities
A generalized system for the description and enforcement of permissions and restrictions of a context.Asynchronous Operations
Asynchronous functions, await, and the concurrent keyword.Attributes
Attaching metadata to Hack programs, built-in attributes and defining your own.XHP
Safe, composable HTML templating.Silencing Errors
HH_FIXME best practices and error codes.
Hack API Reference
Full reference docs for all functions, classes, interfaces, and traits in the Hack language.
Hack Standard Library Reference and Experimental Additions
Full reference docs for all functions, classes, interfaces, and traits in the Hack Standard Library (HSL).
HHVM
Learn
Getting Started
Get started with HHVM quickly and easily.Installation
How to install HHVM on a supported platform.Basic Usage
The easiest way to run HHVM, with sensible defaults.Advanced Usage
Advanced usage, with more ways to run and configure HHVM.Configuration
How to configure HHVM with various user-configurable options.Extensions
The built in and dynamic extensions that HHVM currently supports.FAQ
Common information and questions regarding HHVM.