Skip to main content

Crate cove_sema

Crate cove_sema 

Source
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§

HostSchemas
The host modules one compilation may name: the ones the toolchain ships, plus any an embedder added.
ModuleSchema
The name, capability, operations, types, and resources of one host module.