Installing Hack, running your first program, and introducing the tools.
Basic syntax, namespaces, and the autoloader.
Named functions, anonymous functions and parameters.
Immutable collections, mutable collections, and APIs.
Built-in types known to the type checker.
HH_FIXME best practices and error codes.
How to contribute to this website.
Expressions, operators, associativity, and precedence.
Simple statements, blocks, and loops.
Asynchronous functions, await, and the concurrent keyword.
Classes, Interfaces, Traits
Classes provide a way to group functionality and state together.
Implementing class capabilities and optimizing code reuse.
Attaching metadata to Hack programs, built-in attributes and defining your own.
Safe, composable HTML templating.
Types and Generics
The type checker.
Generic types, where constraints, and variance.
A generalized system for the description and enforcement of permissions and restrictions of a context.
Generics with type information accessible at runtime.
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.