Skip to main content

Crate haskelujah_rts

Crate haskelujah_rts 

Source
Expand description

§Shared Runtime System for Haskelujah

This crate contains the backend-agnostic runtime primitives shared across all execution backends (STG interpreter, LLVM, Cranelift, WebAssembly):

  • value_chirho — Runtime value types (ValueChirho, ClosureChirho, InfoTableChirho, HeapAddrChirho, DataConTagChirho)
  • heap_chirho — Arena-based heap allocator (HeapChirho)
  • gc_chirho — Mark-sweep garbage collector (GcStateChirho)

The STG interpreter (haskelujah-runtime-chirho) adds the evaluation loop, stack, primop dispatch, and FFI on top of these shared primitives. Native-code backends link against this crate for heap management and GC without pulling in interpreter-specific machinery.

Re-exports§

pub use gc_chirho::GcConfigChirho;
pub use gc_chirho::GcStateChirho;
pub use gc_chirho::GcStatsChirho;
pub use gc_chirho::extract_roots_from_values_chirho;
pub use heap_chirho::HeapChirho;
pub use native_layout_chirho::CLOSURE_FV_OFFSET_CHIRHO;
pub use native_layout_chirho::CON_FIELDS_OFFSET_CHIRHO;
pub use native_layout_chirho::CON_TAG_MASK_CHIRHO;
pub use native_layout_chirho::CON_TAG_SHIFT_CHIRHO;
pub use native_layout_chirho::HEADER_SIZE_CHIRHO;
pub use native_layout_chirho::OBJECT_KIND_MASK_CHIRHO;
pub use native_layout_chirho::ObjectKindChirho;
pub use native_layout_chirho::PAP_ARGS_OFFSET_CHIRHO;
pub use native_layout_chirho::PAP_ARITY_OFFSET_CHIRHO;
pub use native_layout_chirho::PAP_FUN_OFFSET_CHIRHO;
pub use native_layout_chirho::THUNK_PAYLOAD_OFFSET_CHIRHO;
pub use native_layout_chirho::WORD_SIZE_CHIRHO;
pub use native_layout_chirho::pack_native_header_chirho;
pub use native_layout_chirho::unpack_native_object_kind_chirho;
pub use value_chirho::ClosureChirho;
pub use value_chirho::CodePtrChirho;
pub use value_chirho::DataConTagChirho;
pub use value_chirho::HeapAddrChirho;
pub use value_chirho::InfoTableChirho;
pub use value_chirho::InfoTagChirho;
pub use value_chirho::ValueChirho;

Modules§

ffi_chirho
C FFI for the Haskelujah Runtime System
gc_chirho
Garbage collector
heap_chirho
Heap — the closure store
native_layout_chirho
Shared native heap object layout for compiled backends.
value_chirho
Runtime values and closure representation