Expand description
Package loading, module resolution, and derived facts about Cove source.
A directory is a module and its name follows its path. Exported declarations are the single source of truth, so everything here is derived from source rather than declared twice.
Compiler is the way in for anything that checks a whole package, and
the one thing it can be configured with is the set of Host API schemas it
reads: an embedder’s modules are checked like shipped ones once it has
been handed their descriptions. compile says why that is the only
knob.
Re-exports§
pub use capability::open_reasons;pub use capability::Capability;pub use capability::OpenCall;pub use compile::Compiler;pub use config::Config;pub use config::RunConfig;pub use facts::Facts;pub use facts::MethodTarget;pub use facts::Signature;pub use package::Module;pub use package::Package;pub use package::Unit;
Modules§
- capability
- Capabilities required by Cove code.
- compile
- The checking pipeline, and the one thing an embedder configures about it.
- config
cove.toml: the host’s execution configuration.- facts
- What the checker worked out about each expression.
- package
- Discovering and loading a Cove package from disk.
- resolve
- Name resolution across the units of a module, and across the modules of a package.
- stdlib
- The standard library: Cove source embedded in the compiler binary.
- typeck
- Static type checking, between resolution and execution.
- unique
- The conservative local uniqueness proof
Vector.freeze()needs.
Structs§
- Host
Schemas - The host modules one compilation may name: the ones the toolchain ships, plus any an embedder added.
- Module
Schema - The name, capability, operations, types, and resources of one host module.