Expand description
M3: type system, effect system. See spec §6, §7.
Re-exports§
pub use checker::check_and_rewrite_program;pub use checker::check_program;pub use checker::check_program_with_positions;pub use checker::ProgramTypes;pub use error::PositionedError;pub use error::TypeError;pub use position::byte_to_line_col;pub use position::Position;pub use rules::all_rules;pub use rules::suggested_transform_for;pub use rules::RuleInfo;pub use trust::Dimension;pub use trust::Grant;pub use trust::GrantId;pub use trust::Level;pub use trust::TrustError;pub use types::EffectSet;pub use types::Prim;pub use types::Scheme;pub use types::Ty;pub use types::TyVarId;
Modules§
- builtins
- Built-in module signatures used by §3.13 examples and beyond.
- checker
- M3: type checker. Walks the canonical AST, infers types via unification, and checks declared signatures and effects.
- discharge
- Static discharge of refinement-type predicates (#209 slice 2).
- env
- Type environment: type-decl info and value-binding scopes.
- error
- Structured type errors per spec §6.7.
- position
- Source positions attached to
TypeErrors (#306 slice 1). - rules
- Rule-tagged messages for type errors (#306 slice 2).
- trust
- Trust lattice: effect-narrowing as subtyping over a small fixed dimension set (filesystem, network, exec).
- types
- Internal type representation used by the inferencer/checker.
- unifier
- Union-find based unification for type variables.