Skip to main content

Crate yulang_runtime

Crate yulang_runtime 

Source
Expand description

Typed runtime IR for Yulang.

Runtime IR is intentionally not a second type inference engine. It accepts the principal types and local evidence produced by the infer pipeline, then builds a runtime tree where every expression has a VM-facing type witness. Polymorphic variables that appear in a principal type are kept as forall parameters; observation-only variables are erased before validation.

Re-exports§

pub use diagnostic::RuntimeError;
pub use diagnostic::RuntimeResult;
pub use diagnostic::TypeSource;
pub use host::HostRunOutput;
pub use host::eval_root_with_basic_host;
pub use host::eval_roots_with_basic_host;
pub use hygiene::format_hygiene_expr;
pub use hygiene::format_hygiene_module;
pub use invariant::RuntimeStage;
pub use invariant::check_runtime_invariants;
pub use invariant::check_strict_runtime_value_types;
pub use ir::Binding;
pub use ir::EffectIdRef;
pub use ir::EffectIdVar;
pub use ir::Expr;
pub use ir::ExprKind;
pub use ir::HandleArm;
pub use ir::HandleEffect;
pub use ir::JoinEvidence;
pub use ir::MatchArm;
pub use ir::Module;
pub use ir::Pattern;
pub use ir::RecordExprField;
pub use ir::RecordPatternField;
pub use ir::RecordSpreadExpr;
pub use ir::RecordSpreadPattern;
pub use ir::ResumeBinding;
pub use ir::Root;
pub use ir::Stmt;
pub use ir::Type;
pub use ir::TypeInstantiation;
pub use ir::TypeSubstitution;
pub use lower::CoreShapeProfile;
pub use lower::DerivedExpectedEvidenceProfile;
pub use lower::ExpectedAdapterEvidenceProfile;
pub use lower::ExpectedArgEvidenceProfile;
pub use lower::ObservedAdapterEvidence;
pub use lower::ObservedAdapterEvidenceKind;
pub use lower::RuntimeAdapterEvent;
pub use lower::RuntimeAdapterEventKind;
pub use lower::RuntimeAdapterProfile;
pub use lower::RuntimeApplyAdapterPhase;
pub use lower::RuntimeLowerOutput;
pub use lower::RuntimeLowerProfile;
pub use lower::lower_core_program;
pub use lower::lower_core_program_profiled;
pub use lower::lower_principal_module;
pub use monomorphize::DemandEvidenceProfile;
pub use monomorphize::DemandQueueProfile;
pub use monomorphize::MonomorphizePassProfile;
pub use monomorphize::MonomorphizeProfile;
pub use monomorphize::MonomorphizeProgress;
pub use monomorphize::SubstitutionSpecializeInferenceCount;
pub use monomorphize::SubstitutionSpecializeMissingVarCount;
pub use monomorphize::SubstitutionSpecializeProfile;
pub use monomorphize::SubstitutionSpecializeRewriteContextCount;
pub use monomorphize::SubstitutionSpecializeRewriteExprKindTiming;
pub use monomorphize::SubstitutionSpecializeRewritePhaseTiming;
pub use monomorphize::SubstitutionSpecializeSkipCount;
pub use monomorphize::SubstitutionSpecializeTargetInferences;
pub use monomorphize::SubstitutionSpecializeTargetRewrites;
pub use monomorphize::SubstitutionSpecializeTargetSkips;
pub use monomorphize::monomorphize_module;
pub use monomorphize::monomorphize_module_profiled;
pub use refine::refine_module_types;
pub use validate::validate_module;
pub use vm::VmError;
pub use vm::VmModule;
pub use vm::VmRequest;
pub use vm::VmResult;
pub use vm::VmValue;
pub use vm::compile_vm_module;

Modules§

diagnostic
host
hygiene
invariant
ir
lower
Lower principal core IR into typed runtime IR.
monomorphize
Monomorphization and specialization.
refine
Refine runtime IR types from already-lowered expressions.
runtime
types
validate
Validate typed runtime IR.
vm