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