catala/compiler
Louis Gesbert 9d07015864 Unify runtime error handling
- Clearly distinguish Exceptions from Errors. The only catchable exception
  available in our AST is `EmptyError`, so the corresponding nodes are made less
  generic, and a node `FatalError` is added

- Runtime errors are defined as a specific type in the OCaml runtime, with a
  carrier exception and printing functions. These are used throughout, and
  consistently by the interpreter. They always carry a position, that can be
  converted to be printed with the fancy compiler location printer, or in a
  simpler way from the backends.

- All operators that might be subject to an error take a position as argument,
  in order to print an informative message without relying on backtraces from
  the backend
2024-04-26 18:31:26 +02:00
..
catala_utils Messages: adjust to terminal width 2024-04-26 15:40:55 +02:00
dcalc Unify runtime error handling 2024-04-26 18:31:26 +02:00
desugared Unify runtime error handling 2024-04-26 18:31:26 +02:00
lcalc Unify runtime error handling 2024-04-26 18:31:26 +02:00
literate Rewriting message calls to use the new intf 2024-04-10 19:26:23 +02:00
plugins Unify runtime error handling 2024-04-26 18:31:26 +02:00
scalc Unify runtime error handling 2024-04-26 18:31:26 +02:00
scopelang Unify runtime error handling 2024-04-26 18:31:26 +02:00
shared_ast Unify runtime error handling 2024-04-26 18:31:26 +02:00
surface Support for direct tuple member access 2024-04-13 09:37:03 +02:00
verification Unify runtime error handling 2024-04-26 18:31:26 +02:00
catala_web_interpreter.ml Rewriting message calls to use the new intf 2024-04-10 19:26:23 +02:00
catala.ml replace let _ by let () or add type annotation 2023-09-09 22:02:39 +02:00
driver.ml Fix statement ordering in scalc 2024-04-23 16:01:23 +02:00
driver.mli Move global options of Cli to their own module 2024-03-19 15:18:35 +01:00
dune CI: cleanup the exposed artifacts 2024-01-22 13:58:32 +01:00
index.mld More doc 2023-06-18 16:08:16 +02:00
plugin.ml Rewriting message calls to use the new intf 2024-04-10 19:26:23 +02:00
plugin.mli Move global options of Cli to their own module 2024-03-19 15:18:35 +01:00
tests.ml Generalise the definition of lists of nested binders 2024-02-09 18:33:41 +01:00