catala/compiler/desugared
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 Unify runtime error handling 2024-04-26 18:31:26 +02:00
ast.mli Output subscope: improvements following review 2024-04-10 18:38:50 +02:00
dependency.ml Improve message formatting throughout 2024-04-12 17:07:36 +02:00
dependency.mli Output scopes and subscope variable rework done 2024-04-04 10:24:18 +02:00
desugared.mld Fix most doc errors 2023-06-02 17:17:45 +02:00
disambiguate.ml Output subscope: improvements following review 2024-04-10 18:38:50 +02:00
disambiguate.mli AST change: more specific application 2023-12-19 17:27:40 +01:00
dune Rename utils to catala_utils 2022-11-28 16:38:09 +01:00
from_surface.ml Unify runtime error handling 2024-04-26 18:31:26 +02:00
from_surface.mli Uniform naming of conversion modules across compilation passes 2022-11-22 12:08:18 +01:00
linting.ml Improve message formatting throughout 2024-04-12 17:07:36 +02:00
linting.mli Update error messages 2023-03-31 14:01:04 +02:00
name_resolution.ml Improve message formatting throughout 2024-04-12 17:07:36 +02:00
name_resolution.mli Reformat 2024-04-04 10:56:56 +02:00
print.ml Rewriting message calls to use the new intf 2024-04-10 19:26:23 +02:00
print.mli Refactoring changes after @altgr's suggestions 2023-04-18 10:31:44 +02:00