cove_sema/lib.rs
1//! Package loading, module resolution, and derived facts about Cove source.
2//!
3//! A directory is a module and its name follows its path. Exported
4//! declarations are the single source of truth, so everything here is derived
5//! from source rather than declared twice.
6//!
7//! [`Compiler`] is the way in for anything that checks a whole package, and
8//! the one thing it can be configured with is the set of Host API schemas it
9//! reads: an embedder's modules are checked like shipped ones once it has
10//! been handed their descriptions. [`compile`] says why that is the only
11//! knob.
12
13pub mod capability;
14pub mod compile;
15pub mod config;
16pub mod facts;
17pub mod package;
18pub mod resolve;
19pub mod stdlib;
20pub mod typeck;
21pub mod unique;
22
23pub use capability::{open_reasons, Capability, OpenCall};
24pub use compile::Compiler;
25pub use config::{Config, RunConfig};
26pub use facts::{Facts, MethodTarget, Signature};
27pub use package::{Module, Package, Unit};
28
29// Re-exported so an embedder configuring the checker names one crate: the
30// schema it hands to [`Compiler`] is the same type its host module registers
31// with, and `cove-runtime` re-exports it for the same reason.
32pub use cove_schema::{HostSchemas, ModuleSchema};