New to Hara · 8 min
Evaluate the first form
Open an isolated browser session and inspect the result and capability boundary.
Open path →App launcher
Shared foundations, reusable interface patterns, and focused route references.
Language, documentation, learning, package, specification, playground, and community routes.
Shared foundations and reusable interface components, from visual rules to exported specimens.
Interaction behaviour, UI states, and tool workbench structures.
Search is represented as a family-owned interaction. Production adopters replace this fixture with their shared index.
Guides · Reference · Examples
A guide explains a task in sequence. A reference page defines a language form, namespace, symbol, or interface. An executable example adds a named runtime session to otherwise static source and explanation.
sha256:72a194a301 · Task index
Each path names its expected reading time, assumed background, version range, and likely runtime. The language and API hierarchy remains available in the reference.
New to Hara · 8 min
Open an isolated browser session and inspect the result and capability boundary.
Open path →Application · 20 min
Add namespaces, dependencies, tests, and an explicit target runtime.
Open path →Systems · 30 min
Separate replayable work from checkpointed effects and record receipts.
Open path →Interop · 25 min
Resolve host values, lifecycle, errors, and ownership through a narrow ABI.
Open path →Distribution · 18 min
Register namespace ownership, compatibility, artifact digest, and release notes.
Open path →Tooling · 12 min
Move from source form to generated output without losing source locations.
Open path →02 · Guide document
The document uses a quiet guide rail, stable outline, version and runtime selectors, and one optional executable example. The article remains readable without the runtime.
Guide · docs.guide
Keep deterministic orchestration separate from checkpointed effects while the runtime records exact boundaries.
sha256:72a194a3Work describes what should happen. The executor chooses how it runs. The store remembers completed boundaries. This separation keeps orchestration replayable without pretending that network, database, clock, or filesystem effects can be repeated invisibly.
Start with a small algebra. Pure nodes may replay; step nodes checkpoint external observations; chain and branch nodes only compose work.
{:op :chain
:id :document/import
:work [{:op :pure :id :resolve-input}
{:op :step :id :fetch-source :capabilities [:network]}
{:op :step :id :store-original :capabilities [:database]}]} A step boundary records input identity, fenced generation, output digest, declared capabilities, and a durable receipt. A replay reads the recorded output rather than quietly reissuing the effect.
Executable example · optional runtime surface
hara@9b6c10e + example@72a194a3;; orchestration is replayable
(def durable-import
(work/chain
(work/pure :resolve-input resolve-input)
(work/step :fetch-source fetch-source [:network])
(work/step :store-original store-original [:database])
(work/pure :index-document index-document)))
(work/submit executor store durable-import) The runtime is attached. Running creates a new fenced execution receipt.
Ready to run.
The guide selector changes explanatory compatibility context. It does not mutate the source revision. An executable surface must explicitly attach a compatible provider before Run becomes available.
Completion evidence links work identity, source revision, executor, store, capability declaration, step outputs, and the final accepted result. The receipt belongs to the runtime registry, not editable front matter.
03 · API and namespace reference
Reference rows are canonical records rather than headings copied into prose. A production implementation resolves them from the symbol registry.
Namespace
std.workAlgebra, submission, checkpoint boundaries, stores, and executors.
std.work/work-specprotocol method (work-spec [work]) 1.8.0 Return the canonical algebraic representation of a work value.
std.work/submitfunction (submit executor store work) 1.8.0 Submit work through explicit executor and store interfaces.
std.work/stepconstructor (step id f & capabilities) 1.8.0 Declare a checkpointed effect boundary with named capabilities.
std.work/chainconstructor (chain & work) 1.8.0 Compose work without forcing an execution strategy.
04 · Search results and filters
Type, category, version, and runtime are visible filters. A result does not imply that a static guide is executable or that a live example applies to every runtime.
Replayable work, checkpointed steps, stores, executors, and receipts.
Canonical algebraic representation for work values.
Runtime maps become host configuration rather than a public protocol.
Fence network access and replay from the recorded result.
05 · Runtime, compile, and version states
Each state names what remains readable, which action is disabled, and which immutable source and runtime context can still be inspected.
Unavailable runtime
The article remains readable. Running is disabled and the exact source stays copyable.
Compile error
The error names the source range and required capability instead of replacing the article with an editor.
Stale version
Readers can pin the documented version, inspect the migration note, or open the exact revision.
Compile error specimen
example@72a194a3;; orchestration is replayable
(def durable-import
(work/chain
(work/pure :resolve-input resolve-input)
(work/step :fetch-source fetch-source [:network])
(work/step :store-original store-original [:database])
(work/pure :index-document index-document)))
(work/submit executor store durable-import) Capability :network is required at work.hal:8:13. Source and revision remain inspectable.
Capability :network is required at work.hal:8:13. Source and revision remain inspectable.
Stale version specimen
example@72a194a3;; orchestration is replayable
(def durable-import
(work/chain
(work/pure :resolve-input resolve-input)
(work/step :fetch-source fetch-source [:network])
(work/step :store-original store-original [:database])
(work/pure :index-document index-document)))
(work/submit executor store durable-import) This example targets Hara 1.8. Pin the documented runtime or inspect the migration note.
This example targets Hara 1.8. Pin the documented runtime or inspect the migration note.
06 · Narrow and mobile reading behaviour
The outline folds first, the guide rail becomes a labelled drawer, selectors remain available, and the optional control pane moves below source rather than squeezing prose.
07 · Shared content contract
hara.docs; it does not define a local front-matter dialect.Guides, references, versions, and executable examples with runtime-aware evidence.
docs.guide@2.1.0Task-oriented path with audience, versions, and optional runnable examples.
docs.reference@2.1.0Canonical API or language reference driven by registered symbols.
docs.version@2.1.0Version-scoped behaviour and migration guidance.
docs.live-example@2.1.0Runnable documentation with fenced runtime expectations.