catala/compiler/scalc
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
dune refactor(runtimes): add runtime_ocaml and runtime_jsoo in the catala package 2022-07-22 16:52:56 +02:00
from_lcalc.ml Unify runtime error handling 2024-04-26 18:31:26 +02:00
from_lcalc.mli Almost there with structs 2023-12-11 17:08:32 +01:00
print.ml Unify runtime error handling 2024-04-26 18:31:26 +02:00
print.mli Add externals to scalc, working test with Python backend 2024-02-26 14:56:43 +01:00
scalc.mld Fix most doc errors 2023-06-02 17:17:45 +02:00
to_c.ml Unify runtime error handling 2024-04-26 18:31:26 +02:00
to_c.mli Add monomorphizing option 2023-12-19 15:01:06 +01:00
to_python.ml Unify runtime error handling 2024-04-26 18:31:26 +02:00
to_python.mli Big reformatting 2022-03-08 15:03:14 +01:00
to_r.ml Unify runtime error handling 2024-04-26 18:31:26 +02:00
to_r.mli Starting to implement R backend 2023-08-04 17:25:12 +02:00