mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-08 07:51:43 +03:00
403156b36e
This includes a few separate changes: - pass visibility information of declarations (depending on wether the declaration was in a ```catala-metadata block or not) - add reasonable hash computation functions to discriminate the interfaces. In particular: * Uids have a `hash` function that depends on their string, but not on their actual uid (which is not stable between runs of the compiler) ; the existing `hash` function and its uses have been renamed to `id`. * The `Hash` module provides the tools to properly combine hashes, etc. While we rely on `Hashtbl.hash` for the atoms, we take care not to use it on any recursive structure (it relies on a bounded traversal). - insert the hashes in the artefacts, and properly check and report those (for OCaml) **Remains to do**: - Record and check the hashes in the other backends - Provide a way to get stable inline-test outputs in the presence of module hashes - Provide a way to write external modules that don't break at every Catala update. |
||
---|---|---|
.. | ||
ast.ml | ||
ast.mli | ||
dependency.ml | ||
dependency.mli | ||
desugared.mld | ||
disambiguate.ml | ||
disambiguate.mli | ||
dune | ||
from_surface.ml | ||
from_surface.mli | ||
linting.ml | ||
linting.mli | ||
name_resolution.ml | ||
name_resolution.mli | ||
print.ml | ||
print.mli |