Liking cljdoc? Tell your friends :D

scriptum.core

COW branching semantics on top of Apache Lucene.

Provides fast forking (~3-5ms), structural sharing of immutable segments, branch-isolated indexing/searching, snapshot retention, and explicit GC.

Key concepts:

  • Writer: mutable handle to a branch (one per branch per JVM)
  • Snapshot: immutable DirectoryReader at a specific commit point
  • Branch: COW overlay sharing base segments with the trunk
  • GC: explicit cleanup of old snapshots respecting branch references
COW branching semantics on top of Apache Lucene.

Provides fast forking (~3-5ms), structural sharing of immutable segments,
branch-isolated indexing/searching, snapshot retention, and explicit GC.

Key concepts:
- Writer: mutable handle to a branch (one per branch per JVM)
- Snapshot: immutable DirectoryReader at a specific commit point
- Branch: COW overlay sharing base segments with the trunk
- GC: explicit cleanup of old snapshots respecting branch references
raw docstring

scriptum.yggdrasil

Yggdrasil adapter for scriptum COW indexes.

Uses VALUE SEMANTICS: mutating operations (branch!, checkout, etc.) return new ScriptumSystem values. The underlying BranchIndexWriter instances are mutable (Lucene writers), but the system structure (which writers exist, which is current) is immutable.

Snapshot IDs are UUIDs stored in commit user-data.

Yggdrasil adapter for scriptum COW indexes.

Uses VALUE SEMANTICS: mutating operations (branch!, checkout, etc.)
return new ScriptumSystem values. The underlying BranchIndexWriter
instances are mutable (Lucene writers), but the system structure
(which writers exist, which is current) is immutable.

Snapshot IDs are UUIDs stored in commit user-data.
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close