#![allow(dead_code)]
#![allow(unused_imports)]
#![allow(unused_mut)]
#![allow(clippy::should_implement_trait)]
#![allow(clippy::collapsible_if)]
#![allow(clippy::collapsible_match)]
#![allow(clippy::single_match)]
#![allow(clippy::field_reassign_with_default)]
#![allow(clippy::approx_constant)]
#![allow(clippy::useless_format)]
#![allow(clippy::type_complexity)]
#![allow(clippy::ptr_arg)]
#![allow(clippy::module_inception)]
#![allow(clippy::unnecessary_map_on_constructor)]
#![allow(clippy::derivable_impls)]
#![allow(clippy::result_large_err)]
#![allow(clippy::write_with_newline)]
#![allow(clippy::unnecessary_map_or)]
pub mod actor_model;
pub mod arena;
pub mod bytecode_interp;
pub mod closure;
pub mod distributed_rpc;
pub mod eval_error;
pub mod gc_strategies;
pub mod io_runtime;
pub mod lazy_eval;
pub mod memory_pool;
pub mod object;
pub mod profiler;
pub mod rc;
pub mod region_alloc;
pub mod scheduler;
pub mod string_pool;
pub mod task_scheduler;
pub mod tco;
pub mod wasm_runtime;
pub use arena::{
ArenaIdx, ArenaOffset, ArenaPool, BumpArena, GenIdx, GenerationalArena, Region, RegionManager,
TypedArena,
};
pub use closure::{
CallConvention, CallStack, Closure, ClosureBuilder, FnPtr, FunctionEntry, FunctionTable,
MutualRecGroup, Pap, PapResult, StackFrame,
};
pub use eval_error::{
EvalError, EvalErrorBuilder, EvalErrorKind, EvalFrame, RuntimeError, SourceSpan,
};
pub use io_runtime::{
ConsoleOps, FileOps, IoError, IoErrorKind, IoExecutor, IoResult, IoRuntime, IoValue,
StringFormatter,
};
pub use lazy_eval::{LazyList, MemoFn, SharedThunk, Thunk, ThunkCache};
pub use object::{
ArrayOps, BoxInto, FieldAccess, HeapObject, ObjectHeader, ObjectStore, ObjectTable, RtArith,
RtObject, StringOps, ThunkOps, TypeInfo, TypeRegistry, TypeTag, UnboxFrom,
};
pub use rc::{
ArcWeak, BorrowFlag, BorrowState, CowBox, Rc, RcElisionAnalysis, RcElisionHint, RcManager,
RcPolicy, RcStats, RtArc, Weak,
};
pub use region_alloc::{
align_up, AllocStats, RegionAllocator, RegionConfig, RegionHandle, RegionId,
};
pub use scheduler::{
LoadBalanceStrategy, LoadBalancer, ParallelEval, Scheduler, SchedulerConfig, SharedState, Task,
TaskId, TaskPriority, TaskState, WorkStealingDeque, Worker,
};
pub use task_scheduler::{
imbalance_ratio, suggest_worker_count, AdaptiveScheduler, LoadBalancePolicy, SchedulerMetrics,
};
pub use tco::{
run_tco_interpreter, trampoline, trampoline_instrumented, RecursiveStep, StepResult, TailCall,
TailCallCounter, TailCallDetector, TailPosition,
};