mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-08 07:51:43 +03:00
c63d74647d
A recent patch introduced custom terms in expressions manipulated by the interpreter. For typing reasons, a traversal is done to extend the supplied expression with these custom terms — it's functionally the identity, but, due to the fact that the type-checker can't infer covariance of our AST terms on their phantom parameter, playing by the rules imposes a full traversal + rebuild. Without resorting to a (constrained) `Obj.magic`, this patch avoids extra intermediate conversions, which is enough to cut out the huge extra cost we were incurring. Closes #516 |
||
---|---|---|
.. | ||
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 |