Catala

Catala (https://catala-lang.org/) is a domain-specific programmin language for encoding legal rules, alongside with the source text.

Catala is inspired by Literate programming: a Catala source file consists of snippets of text and their encoding in Catala. These source files can be compiled into executable program, or a reviewable and comprehensive document. An example of such a document is here.

Design principles

Quote from the website

Implementations derived from legislative texts are hard to get right. The specification for how one quantity is computed may be scattered accross various places in your legislative source. Catala addressess this problem by interleaving the legislative source with the code that models it. To implement your program, just follow what the law says!

Formalism

Catala is based on Default logic#.