Skip to main content

Crate haskelujah_incremental

Crate haskelujah_incremental 

Source
Expand description

§haskelujah-incremental-chirho

Incremental compilation and caching for the Haskelujah compiler.

Provides source fingerprinting, dependency tracking, on-disk artifact caching, and recompilation avoidance. The crate is backend-agnostic: it tracks opaque byte-level artifacts keyed by (module, phase, fingerprint).

§Key concepts

  • Fingerprint: A 128-bit content hash of source text or serialized intermediate representation.
  • ModuleRecord: Cached metadata for a single module: its source fingerprint, dependency fingerprints, and per-phase artifact fingerprints.
  • IncrementalSession: The runtime session that checks cache freshness, stores artifacts, and answers “should I recompile?” queries.
  • ArtifactStore: On-disk key→blob storage backed by a simple directory layout (<cache-dir>/<hex-fingerprint>.blob).

Re-exports§

pub use artifact_chirho::ArtifactStoreChirho;
pub use dep_chirho::DepGraphChirho;
pub use dep_chirho::DepNodeChirho;
pub use fingerprint_chirho::FingerprintChirho;
pub use session_chirho::IncrementalSessionChirho;
pub use session_chirho::ModuleRecordChirho;
pub use session_chirho::PhaseTagChirho;
pub use session_chirho::RebuildReasonChirho;

Modules§

artifact_chirho
Artifact store
dep_chirho
Dependency graph
fingerprint_chirho
Source and artifact fingerprinting
session_chirho
Incremental compilation session