← All repos

catala

Programming language for literate programming law specification

legislative-textsprogramming-language
Browse cluster: Lean4 Formal Verification & Cryptography
5,528commits
67contributors
14languages

Tech stack & purpose

Catala is a domain-specific programming language designed for literate programming of socio-fiscal legislative texts, developed by Inria (the French National Research Institute for Computer Science). The language enables users to annotate legislative texts article by article with code annotations, deriving faithful implementations of complex legal mechanisms while maintaining readability for domain experts like lawyers. The project is built primarily in OCaml and includes multiple components: a compiler with plugin support for custom backends, a build system called Clerk built on Ninja, runtimes for Python and ReScript, standard library utilities, and formal verification of critical compilation steps using F*. The repository also contains a comprehensive test suite, syntax highlighting support for various editors including VSCode and Atom, and a date calculation library with formalized semantics.

Community & reference links

Languages

OCaml
83.0%
Java
6.5%
C
4.3%
Python
3.0%
JavaScript
1.2%
Makefile
0.5%
Vim Script
0.4%
ReScript
0.4%
Emacs Lisp
0.2%
Common Lisp
0.1%
Nix
0.1%
Dockerfile
0.1%
Shell
0.1%
Dune
0.0%

Contributors (top 30 of 67)