Introduction
User guide
1.
Getting started
1.1.
Installing Catala on your machine
1.1.1.
Linux/Mac/WSL
1.1.2.
Windows
1.2.
Creating your first Catala program
2.
Tutorial : computing your taxes
2.1.
Basic blocks of a Catala program
2.1.1.
Hands-on exercise
2.2.
Conditional definitions and exceptions
2.3.
Lists and scopes
2.4.
Variable states and dynamic scope calls
3.
Walkthrough: setting up a Catala project
3.1.
Directory structure and configuration
3.2.
Project building and deployment
3.3.
Test and continuous integration workflow
3.4.
External modules and compiler plugins
3.5.
Agile development with lawyers and programmers
4.
FAQ: How to code the law?
4.1.
General questions
4.2.
Catala-specific questions
Reference guide
5.
The Catala language
5.1.
Literate programming
5.2.
Types, values and operations
5.3.
Scopes, functions and constants
5.4.
Definitions and exceptions
5.5.
Expressions
5.6.
Modules
5.7.
Extra features
6.
The clerk build system
6.1.
Project configuration file
6.2.
Commands and workflow
6.3.
Compiler plugins
Light
Rust
Coal
Navy
Ayu
The Catala domain-specific programming language
Compiler plugins