catala/compiler/plugins
Louis Gesbert 5efa61a0ce Clerk: rewrite 'clerk runtest' to use the new lightweight lexer
* Obsolete code for included tests has been removed

* The engine uses a proper lexer and is much simplified

* An inline test in the middle of the file now only "sees" the file up to that
  point. This fixes an issue where we had spurious errors when a type error was
  added at the end of a file, and it would pop up in tests before it. This makes
  files including many tests much more practical.

* diffing and resetting the tests has been reintroduced (done at the moment in
  Ninja, but for more control (count number of failed tests, etc.) we could put it
  back into Clerk at some point

* The Catala CLI can now take an input from stdin (with the possibility to link
  a (possibly fake) on-disk file for error reporting and file locations ; this
  is useful for running tests)
2023-09-27 13:18:18 +02:00
..
api_web.ml Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
dune Rework module includes CLI in Catala 2023-09-27 13:14:40 +02:00
explain.ml Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
json_schema.ml Rework module includes CLI in Catala 2023-09-27 13:14:40 +02:00
lazy_interp.ml Clerk: better handling of transitive dependencies 2023-09-27 13:14:40 +02:00
plugins.mld Remove generated files from git 2023-07-10 15:48:11 +02:00
python.ml Rework module includes CLI in Catala 2023-09-27 13:14:40 +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.