catala/compiler/scopelang
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
..
ast.ml Reformat 2024-04-04 10:56:56 +02:00
ast.mli Reformat 2024-04-04 10:56:56 +02:00
dependency.ml Improve message formatting throughout 2024-04-12 17:07:36 +02:00
dependency.mli Simplification: store paths in Uids 2023-08-31 18:31:48 +02:00
dune Rename utils to catala_utils 2022-11-28 16:38:09 +01:00
from_desugared.ml Unify runtime error handling 2024-04-26 18:31:26 +02:00
from_desugared.mli Refactoring for cleaner exception graph building 2023-04-18 11:06:58 +02:00
print.ml Reformat 2024-04-04 10:56:56 +02:00
print.mli Implement module lookups for scopes, structs, and enums 2023-08-31 17:54:39 +02:00
scopelang.mld Fix most doc errors 2023-06-02 17:17:45 +02:00