This is the fact-base Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 05:04:50 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
fact-baseSimple implementation of fact-base data storage for Common Lisp
Inaimathi <leo.zovic@gmail.com>
AGPL3
alexandria (system).
local-time (system).
optima (system).
cl-fad (system).
package.lisp (file).
util.lisp (file).
queue.lisp (file).
fact-base.lisp (file).
index.lisp (file).
unify.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
fact-base/fact-base.asdfact-base/package.lispfact-base/util.lispfact-base/queue.lispfact-base/fact-base.lispfact-base/index.lispfact-base/unify.lispfact-base/util.lisppackage.lisp (file).
fact-base (system).
->key (method).
->key (method).
any-variables? (function).
binding-value (function).
extend-bindings (function).
fact-p (method).
fact-p (method).
get-binding (function).
hash (function).
key->symbols (method).
list->timestamp (function).
lookup-binding (function).
make-range-fn (function).
subst-bindings (function).
temp-file-name (function).
timestamp->list (function).
unique-find-anywhere-if (function).
with-open-elif (macro).
fact-base/queue.lisputil.lisp (file).
fact-base (system).
empty? (method).
entries (reader method).
(setf entries) (writer method).
entry-count (reader method).
(setf entry-count) (writer method).
last-cons (reader method).
(setf last-cons) (writer method).
pop! (method).
push! (method).
queue (function).
queue (class).
fact-base/fact-base.lispqueue.lisp (file).
fact-base (system).
base! (method).
change! (method).
current (reader method).
(setf current) (writer method).
delete! (method).
delta (reader method).
(setf delta) (writer method).
fact-base (class).
file-name (reader method).
fork-at (method).
index! (method).
insert! (method).
insert-if-unique! (method).
insert-new! (method).
load! (method).
lookup (method).
lookup (method).
make-fact-base (function).
multi-insert! (method).
next-id! (method).
rewind-by (method).
rewind-to (method).
rewind-to (method).
rewind-to (method).
tag! (method).
tags-of (method).
total-entries (method).
write! (method).
apply-entry (method).
apply-entry! (method).
change-fact-internal! (function).
delete (method).
delete-fact-internal! (function).
earliest-entry (reader method).
(setf earliest-entry) (writer method).
entry-count (reader method).
(setf entry-count) (writer method).
fact-id (reader method).
(setf fact-id) (writer method).
history (reader method).
in-memory? (reader method).
index (reader method).
(setf index) (writer method).
index (class).
insert (method).
insert-fact-internal! (function).
latest-entry (reader method).
(setf latest-entry) (writer method).
read-entry! (method).
read-entry-from-end! (method).
reverse-entry (method).
reverse-entry! (method).
reverse-from-end-until (function).
rewind-by-internal (method).
table (reader method).
tags (reader method).
(setf tags) (writer method).
update-id! (function).
write-entries! (method).
write-entries! (method).
write-entry! (method).
fact-base/index.lispfact-base.lisp (file).
fact-base (system).
decide-index (method).
format-index (method).
index-case (macro).
indexed? (method).
lookup-index (macro).
make-index (function).
map-insert! (method).
show (method).
show (method).
show (method).
fact-base/unify.lispindex.lisp (file).
fact-base (system).
for-all (macro).
+fail+ (special variable).
and-goals (function).
fail? (function).
lisp-goals (function).
make-goal (function).
not-goals (function).
occurs-check (function).
or-goals (function).
pre-search (method).
single-goal (function).
unify (function).
unify-variable (function).
variable? (function).
variables-in (function).
Packages are listed by definition order.
fact-basecommon-lisp.
optima.
base! (generic function).
change! (generic function).
current (generic reader).
(setf current) (generic writer).
delete! (generic function).
delta (generic reader).
(setf delta) (generic writer).
fact-base (class).
file-name (generic reader).
for-all (macro).
fork-at (generic function).
index! (generic function).
insert! (generic function).
insert-if-unique! (generic function).
insert-new! (generic function).
load! (generic function).
lookup (generic function).
make-fact-base (function).
multi-insert! (generic function).
next-id! (generic function).
rewind-by (generic function).
rewind-to (generic function).
tag! (generic function).
tags-of (generic function).
total-entries (generic function).
write! (generic function).
+fail+ (special variable).
->key (generic function).
and-goals (function).
any-variables? (function).
apply-entry (generic function).
apply-entry! (generic function).
binding-value (function).
change-fact-internal! (function).
decide-index (generic function).
delete (generic function).
delete-fact-internal! (function).
earliest-entry (generic reader).
(setf earliest-entry) (generic writer).
empty? (generic function).
entries (generic reader).
(setf entries) (generic writer).
entry-count (generic reader).
(setf entry-count) (generic writer).
extend-bindings (function).
fact-id (generic reader).
(setf fact-id) (generic writer).
fact-p (generic function).
fail? (function).
format-index (generic function).
get-binding (function).
hash (function).
history (generic reader).
in-memory? (generic reader).
index (generic reader).
(setf index) (generic writer).
index (class).
index-case (macro).
indexed? (generic function).
insert (generic function).
insert-fact-internal! (function).
key->symbols (generic function).
last-cons (generic reader).
(setf last-cons) (generic writer).
latest-entry (generic reader).
(setf latest-entry) (generic writer).
lisp-goals (function).
list->timestamp (function).
lookup-binding (function).
lookup-index (macro).
make-goal (function).
make-index (function).
make-range-fn (function).
map-insert! (generic function).
not-goals (function).
occurs-check (function).
or-goals (function).
pop! (generic function).
pre-search (generic function).
push! (generic function).
queue (function).
queue (class).
read-entry! (generic function).
read-entry-from-end! (generic function).
reverse-entry (generic function).
reverse-entry! (generic function).
reverse-from-end-until (function).
rewind-by-internal (generic function).
show (generic function).
single-goal (function).
subst-bindings (function).
table (generic reader).
tags (generic reader).
(setf tags) (generic writer).
temp-file-name (function).
timestamp->list (function).
unify (function).
unify-variable (function).
unique-find-anywhere-if (function).
update-id! (function).
variable? (function).
variables-in (function).
with-open-elif (macro).
write-entries! (generic function).
write-entry! (generic function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
pathname) &key indices in-memory?) ¶pathname) &key indices in-memory?) ¶apply-entry!.
change!.
(setf current).
current.
decide-index.
delete!.
(setf delta).
delta.
(setf earliest-entry).
earliest-entry.
(setf entry-count).
entry-count.
(setf fact-id).
fact-id.
file-name.
fork-at.
history.
in-memory?.
(setf index).
index.
index!.
insert!.
insert-if-unique!.
insert-new!.
(setf latest-entry).
latest-entry.
lookup.
multi-insert!.
next-id!.
reverse-entry!.
rewind-by.
rewind-by-internal.
rewind-to.
rewind-to.
rewind-to.
tag!.
(setf tags).
tags.
tags-of.
total-entries.
write!.
The file associated with this fact-base
:file-name
This slot is read-only.
The next free fact-id
0
A collection of history entries that have not yet been written to disk
(fact-base::queue)
The current projection of this fact-base
The index structure of the current projection (used to accelerate queries)
:index
The count of entries in disk history.
0
The earliest entry in the disk history.
:earliest-entry
Flag that designates whether this fact-base is going to keep its history in memory or on disk.
For fact bases with a relatively short history, and/or ones with a requirement for high-frequency rewind, keeping it in memory makes more sense.
If you don’t need rewinding very often or quickly, or will keep a very deep history for a particular notebook, maybe keep it on disk.
:in-memory?
This slot is read-only.
If ‘in-memory?‘ is true, this should be a queue of this fact-bases’ history entries.
:history
This slot is read-only.
The latest entry in the disk history.
:latest-entry
list) (entry list)) ¶list) (fact list)) ¶symbol) (fact list)) ¶fact-base)) ¶Flag that designates whether this fact-base is going to keep its history in memory or on disk.
For fact bases with a relatively short history, and/or ones with a requirement for high-frequency rewind, keeping it in memory makes more sense.
If you don’t need rewinding very often or quickly, or will keep a very deep history for a particular notebook, maybe keep it on disk.
list) (fact list)) ¶stream) &key skip) ¶Only use this inside of ‘with-open-elif‘.
It’s just an EXTREMELY expensive, non forwarding version of read-entry! otherwise.
Takes a stream opened with ‘with-open-elif‘, returns a history entry from the end of that file.
Two keyword arguments:
  - :skip  - is a number of entries to skip before the one we want (defaults to 0, which gives the last one)
list) (entry list)) ¶list) (s stream)) ¶| Jump to: | (
   
- A B C D E F G H I K L M N O P Q R S T U V W | 
|---|
| Jump to: | (
   
- A B C D E F G H I K L M N O P Q R S T U V W | 
|---|
| Jump to: | + C D E F H I L S T | 
|---|
| Jump to: | + C D E F H I L S T | 
|---|
| Jump to: | C F I P Q S U | 
|---|
| Jump to: | C F I P Q S U | 
|---|