- Introduction
- 1. Getting Started
- 2. Basic Program Structure
- 2.1. Definitions & Declarations
- 2.2. Packages & Modules
- 2.3. Primitive Types
- 2.4. The let Expression
- 3. Types & Their Expressions
- 3.1. Unit
- 3.2. Either
- 3.3. Pair
- 3.4. Function
- 3.5. Forall
- 3.6. Implicit Generics
- 3.7. Recursive
- 3.8. Choice
- 3.9. Iterative
- 3.10. Box
- 3.11. Exists
- 3.12. Continuation
- 3.13. The Big Table
- 4. The Process Syntax
- 4.1. The do Expression
- 4.2. Commands
- 4.2.1. Selecting & Sending
- 4.2.2. Looping & Branching
- 4.2.3. Receiving, Where It Shines
- 4.3. Channels & Linking
- 4.4. Construction by Destruction
- 5. Quality of Life Syntax Sugar
- 5.1. Error Handling
- 5.2. Conditions & if
- 5.3. Pipes
- 6. Nondeterminism, Servers & Clients
- 6.1. Polling & Submitting
- 6.2. The Fan Pattern
- 6.3. Communicating Both Ways
- 6.4. Switching Modes With repoll