Liking cljdoc? Tell your friends :D

Spindel Documentation

This index organizes the documentation by topic. New to Spindel? Start with Getting Started, then Concepts.

Getting Started

  • Main README — project overview, install, quick start
  • Getting Started — first-spin tutorial: setup, signals, effects, running tests

Core Concepts

  • Concepts — the mental model: spins, signals, checkpoints, effects, the drain queue, caching, glitch-free propagation. Read this before the guides.
  • Effects — await, track, yield, deferred and mailbox synchronization
  • Incremental — deltaable collections, typed delta algebra, the Interval three-state contract

Guides

  • Combinators — parallel, race, sleep, timeout, debounce, throttle, accumulate
  • Custom Effects — register your own effects so they participate in spin macro expansion
  • Atoms — fork-safe, runtime-backed atoms
  • Forking — O(1) copy-on-write contexts: fork-context, snapshot-context, restore-snapshot, serialization
  • Savepoints — design proposal: one effect that publishes a checkpoint to a handler, in-process (fork, multi-shot) and portable (named resume); what choose, factor, SMC barriers and durable snapshots become
  • Pub/Sub — mult, pub, buffers, async-sequence fan-out
  • Distributed — defn-spin-remote, spin-remote, the spin↔channel bridge, distributed-scope integration; convergent signal sync; workspace reflection + cross-system forking (wire-topology!, fork-remote!/merge-fork-remote!)
  • SCI Integration — sandboxed spin execution via the Small Clojure Interpreter
  • Inference Worlds — SMC particles and finite MCTS as canonical, isolated, affine worlds

Internals & Reference

  • Engine — the implementation deep-dive: state shape, deterministic addressing, CPS / trampoline, executors and the drain loop, glitch-free propagation, the overlay backend, memory invariants and GC
  • Engine Formalism — algebraic properties (track as comonad, await as monad, the delta algebra laws), flow-chart diagrams, and a correctness argument per reactive composition
  • API Reference — namespace-by-namespace listing of every public function and macro

Can you improve this documentation?Edit on GitHub

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