roc/crates/compiler/constrain/src
Agus Zubiaga 710d62f754
Load and can new top-level imports
Previously, all imports were available in the header, so we could start
processing dependencies as soon as we parsed it. However, the new imports
are treated as defs, so we have to parse the whole module to find them.

This commit essentially moves the dependency resolution from the `LoadHeader`
phase to the `Parse` phase, and it updates canonicalization to introduce
module symbols into scope when a `ValueDef::ModuleImport` is encountered.

NOTE:
- The `imports` header still parses, but it's no longer wired up. I will remove
it in an upcoming commit.
- Ingested files and imports that appear in nested expressions are not
yet supported by load
2024-01-20 08:39:31 -03:00
..
builtins.rs Remove unused functions 2022-11-11 21:16:24 -06:00
expr.rs Load and can new top-level imports 2024-01-20 08:39:31 -03:00
lib.rs correct formatting and removed duplicate image 2022-11-03 20:02:10 +11:00
module.rs Add a bit to mark syntactically-generalizable types 2023-01-04 17:02:20 -06:00
pattern.rs s/loc_guard/loc_pattern 2023-05-24 13:12:47 -05:00