mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-08 07:51:43 +03:00
9d07015864
- 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 |
||
---|---|---|
.. | ||
boundList.ml | ||
boundList.mli | ||
definitions.ml | ||
dune | ||
expr.ml | ||
expr.mli | ||
interpreter.ml | ||
interpreter.mli | ||
operator.ml | ||
operator.mli | ||
optimizations.ml | ||
optimizations.mli | ||
print.ml | ||
print.mli | ||
program.ml | ||
program.mli | ||
qident.ml | ||
qident.mli | ||
scope.ml | ||
scope.mli | ||
shared_ast.ml | ||
shared_ast.mld | ||
type.ml | ||
type.mli | ||
typing.ml | ||
typing.mli | ||
var.ml | ||
var.mli |