# Hyperlang v0.2.0 - Table of Contents

> Run Erlang-shaped guest programs inside an Elixir host on the same BEAM, with no ambient authority: verified compilation, declared bindings, a frozen stdlib allowlist, and per-run resource limits.

## Pages

- [Hyperlang](readme.md)
- [Hyperlang Security Specification](security_specification.md)
- [Hyperlang compared with other BEAM isolation approaches](comparison.md)
- [Changelog](changelog.md)
- [Contributing](contributing.md)
- [Security Policy](security.md)
- [LICENSE](license.md)
- [NOTICE](notice.md)

## Modules

- Host API
  - [Hyperlang](Hyperlang.md): Compile and run untrusted Erlang-shaped guest programs.
  - [Hyperlang.Actor](Hyperlang.Actor.md): The `GenServer` callback module that runs a program's OTP callbacks.
  - [Hyperlang.Binding](Hyperlang.Binding.md): A named host capability that guest code calls statically.
  - [Hyperlang.Program](Hyperlang.Program.md): An immutable, content-addressed guest program.
  - [Hyperlang.Scope](Hyperlang.Scope.md): Host-owned resource scopes shared by runs, timers, channels and compilation.

- Syscall hosts
  - [Hyperlang.Chan](Hyperlang.Chan.md): Typed channels and `alt` for syscall hosts.
  - [Hyperlang.Limits](Hyperlang.Limits.md): Process-group limits for confined code.
  - [Hyperlang.SyscallHost](Hyperlang.SyscallHost.md): The host syscall door contract.

- Tooling
  - [Hyperlang.Check](Hyperlang.Check.md): Static whole-image checking for multi-module guest programs.
  - [Hyperlang.Manpage](Hyperlang.Manpage.md): Render a troff man(2) page for an allowlisted stdlib module.
  - [Hyperlang.Test](Hyperlang.Test.md): Helpers for testing Hyperlang guests and the hosts that run them.

