Liking cljdoc? Tell your friends :D

vaelii.impl.types.reasoning

The Reasoning record and its readers, as a held namespace (vaelii.impl.types.prover states what that means). A KB holds one Reasoning value in a volatile under its :reasoning field: the belief network, the taxonomy, and every atom a recover or a settle fills. vaelii.impl.kb/empty-reasoning builds an empty one.

A Reasoning value is not a store. A KB's two stores, :records and :index, are durable and are reached through vaelii.impl.protocols, and both survive the process that wrote them. A Reasoning value lives in this process alone: vaelii.impl.recovery/recover rebuilds it from the records, as vaelii.impl.reindex rebuilds the index from them. vaelii.impl.reasoning-image writes one to a directory so that an open can install it in place of a recover, and a KB that declines the image runs the recover instead.

A background rebuild's install replaces the whole value with one vreset! (vaelii.impl.recovery), so the belief a KB holds changes in one step. A reader that must read the network and the taxonomy of one belief reads them through one dereference: vaelii.impl.kb/read-view returns a KB whose volatile holds the current value and is never reset, and vaelii.core's public reads run against it while an install is pending.

Each reader below is inlined at its call site, so (taxonomy kb) compiles to (:taxonomy @(:reasoning kb)): one field read, one volatile read and one field read.

The `Reasoning` record and its readers, as a held namespace (`vaelii.impl.types.prover`
states what that means).  A KB holds one `Reasoning` value in a volatile under its
`:reasoning` field: the belief network, the taxonomy, and every atom a recover or a
settle fills.  `vaelii.impl.kb/empty-reasoning` builds an empty one.

A `Reasoning` value is not a store.  A KB's two stores, `:records` and `:index`, are
durable and are reached through `vaelii.impl.protocols`, and both survive the process
that wrote them.  A `Reasoning` value lives in this process alone:
`vaelii.impl.recovery/recover` rebuilds it from the records, as `vaelii.impl.reindex`
rebuilds the index from them.  `vaelii.impl.reasoning-image` writes one to a directory so
that an open can install it in place of a recover, and a KB that declines the image runs
the recover instead.

A background rebuild's install replaces the whole value with one `vreset!`
(`vaelii.impl.recovery`), so the belief a KB holds changes in one step.  A reader
that must read the network and the taxonomy of one belief reads them through one
dereference: `vaelii.impl.kb/read-view` returns a KB whose volatile holds the current
value and is never reset, and `vaelii.core`'s public reads run against it while an
install is pending.

Each reader below is inlined at its call site, so `(taxonomy kb)` compiles to
`(:taxonomy @(:reasoning kb))`: one field read, one volatile read and one field read.
raw docstring

chain-statsclj

(chain-stats kb)

kb's :chain-stats atom.

`kb`'s `:chain-stats` atom.
sourceraw docstring

clash-readingsclj

(clash-readings kb)

kb's :clash-readings atom.

`kb`'s `:clash-readings` atom.
sourceraw docstring

clashesclj

(clashes kb)

kb's :clashes atom.

`kb`'s `:clashes` atom.
sourceraw docstring

closuresclj

(closures kb)

kb's :closures atom.

`kb`'s `:closures` atom.
sourceraw docstring

exceptedclj

(excepted kb)

kb's :excepted atom.

`kb`'s `:excepted` atom.
sourceraw docstring

matchesclj

(matches kb)

kb's :matches atom.

`kb`'s `:matches` atom.
sourceraw docstring

meta-except-countclj

(meta-except-count kb)

kb's :meta-except-count atom.

`kb`'s `:meta-except-count` atom.
sourceraw docstring

negationsclj

(negations kb)

kb's :negations atom.

`kb`'s `:negations` atom.
sourceraw docstring

ofclj

(of kb)

The Reasoning value kb holds now.

The `Reasoning` value `kb` holds now.
sourceraw docstring

opposedclj

(opposed kb)

kb's :opposed atom.

`kb`'s `:opposed` atom.
sourceraw docstring

preserved-clashesclj

(preserved-clashes kb)

kb's :preserved-clashes atom.

`kb`'s `:preserved-clashes` atom.
sourceraw docstring

preservingclj

(preserving kb)

kb's :preserving atom.

`kb`'s `:preserving` atom.
sourceraw docstring

programclj

(program kb)

kb's :program atom.

`kb`'s `:program` atom.
sourceraw docstring

qcnclj

(qcn kb)

kb's :qcn atom.

`kb`'s `:qcn` atom.
sourceraw docstring

qcn-joinedclj

(qcn-joined kb)

kb's :qcn-joined atom.

`kb`'s `:qcn-joined` atom.
sourceraw docstring

recheckclj

(recheck kb)

kb's :recheck atom.

`kb`'s `:recheck` atom.
sourceraw docstring

refusedclj

(refused kb)

kb's :refused atom.

`kb`'s `:refused` atom.
sourceraw docstring

rule-antecedentsclj

(rule-antecedents kb)

kb's :rule-antecedents atom.

`kb`'s `:rule-antecedents` atom.
sourceraw docstring

rule-contextsclj

(rule-contexts kb)

kb's :rule-contexts atom.

`kb`'s `:rule-contexts` atom.
sourceraw docstring

scoped-defeatsclj

(scoped-defeats kb)

kb's :scoped-defeats atom.

`kb`'s `:scoped-defeats` atom.
sourceraw docstring

settle-statsclj

(settle-stats kb)

kb's :settle-stats atom.

`kb`'s `:settle-stats` atom.
sourceraw docstring

sib-exc-dirtyclj

(sib-exc-dirty kb)

kb's :sib-exc-dirty atom.

`kb`'s `:sib-exc-dirty` atom.
sourceraw docstring

supersessionsclj

(supersessions kb)

kb's :supersessions atom.

`kb`'s `:supersessions` atom.
sourceraw docstring

taxonomyclj

(taxonomy kb)

kb's taxonomy atom.

`kb`'s taxonomy atom.
sourceraw docstring

tmsclj

(tms kb)

kb's belief network.

`kb`'s belief network.
sourceraw docstring

vantage-disagreementsclj

(vantage-disagreements kb)

kb's :vantage-disagreements atom.

`kb`'s `:vantage-disagreements` atom.
sourceraw docstring

violationsclj

(violations kb)

kb's :violations atom.

`kb`'s `:violations` atom.
sourceraw docstring

withdrawnclj

(withdrawn kb)

kb's :withdrawn atom.

`kb`'s `:withdrawn` atom.
sourceraw 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