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