catala/compiler/plugins
Louis Gesbert 293bcd3817 Replace HandleDefault* internal operators by HandleExceptions
HandleExceptions only takes an array of exceptions, and returns Some if only one
of them is Some, None if they are all None, or raises a conflict error
otherwise.

The compilation of default terms then wraps this in a match (for the result of
HandleExceptions), and an if-then-else (for the justification-consequence in the
None case).

This avoids the complexity of having to handle thunked functions as arguments.
2024-07-04 15:08:13 +02:00
..
api_web.ml Remove the with-exceptions backend 2024-07-04 15:08:13 +02:00
dune Rework module includes CLI in Catala 2023-09-27 13:14:40 +02:00
explain.ml Replace HandleDefault* internal operators by HandleExceptions 2024-07-04 15:08:13 +02:00
json_schema.ml Remove the with-exceptions backend 2024-07-04 15:08:13 +02:00
lazy_interp.ml Remove the with-exceptions backend 2024-07-04 15:08:13 +02:00
plugins.mld Remove generated files from git 2023-07-10 15:48:11 +02:00
python.ml Remove the with-exceptions backend 2024-07-04 15:08:13 +02:00
README.md Documentation about plugins 2022-08-09 15:00:13 +02:00

Catala compiler plugins

You want to add a customized backend for the Catala compiler but don't want to modify its source code? Thanks to dynamic linking, it is possible to do so. The advantage of creating a customized backend is the possibility to craft a generated target code that perfectly matches the naming conventions, module structure or coding style of your application.

See the online documentation for more details on how to create them, or look at the existing plugins in this directory for inspiration.