This is the wouldwork Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Jul 13 22:24:42 2025 GMT+0.
wouldwork/wouldwork.asd
wouldwork/src/packages.lisp
wouldwork/src/ww-utilities.lisp
wouldwork/src/ww-hstack.lisp
wouldwork/src/ww-preliminaries.lisp
wouldwork/src/ww-settings.lisp
wouldwork/src/ww-structures.lisp
wouldwork/src/ww-converter.lisp
wouldwork/src/ww-validator.lisp
wouldwork/src/ww-frequencies.lisp
wouldwork/src/ww-support.lisp
wouldwork/src/ww-happenings.lisp
wouldwork/src/ww-translator.lisp
wouldwork/src/ww-installer.lisp
wouldwork/src/ww-interface.lisp
wouldwork/src/ww-problem-tests.lisp
wouldwork/src/ww-set.lisp
wouldwork/src/ww-command-tests.lisp
wouldwork/src/problem.lisp
wouldwork/src/ww-planner.lisp
wouldwork/src/ww-searcher.lisp
wouldwork/src/ww-parallel.lisp
wouldwork/src/ww-initialize.lisp
The main system appears first, followed by any subsystem dependency.
wouldwork
classical planning with the wouldwork planner
Program Development, Dave Brown <davypough@gmail.com>
Quicklisp Integration & Test, Gwang-Jin Kim <gwang.jin.kim.phd@gmail.com>
(GIT https://github.com/davypough/quick-wouldwork.git)
MIT
0.0.1
alexandria
(system).
iterate
(system).
lparallel
(system).
src
(module).
Modules are listed depth-first from the system components tree.
wouldwork/src
wouldwork
(system).
packages.lisp
(file).
ww-utilities.lisp
(file).
ww-hstack.lisp
(file).
ww-preliminaries.lisp
(file).
ww-settings.lisp
(file).
ww-structures.lisp
(file).
ww-converter.lisp
(file).
ww-validator.lisp
(file).
ww-frequencies.lisp
(file).
ww-support.lisp
(file).
ww-happenings.lisp
(file).
ww-translator.lisp
(file).
ww-installer.lisp
(file).
ww-interface.lisp
(file).
ww-problem-tests.lisp
(file).
ww-set.lisp
(file).
ww-command-tests.lisp
(file).
problem.lisp
(file).
ww-planner.lisp
(file).
ww-searcher.lisp
(file).
ww-parallel.lisp
(file).
ww-initialize.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
wouldwork/wouldwork.asd
wouldwork/src/packages.lisp
wouldwork/src/ww-utilities.lisp
wouldwork/src/ww-hstack.lisp
wouldwork/src/ww-preliminaries.lisp
wouldwork/src/ww-settings.lisp
wouldwork/src/ww-structures.lisp
wouldwork/src/ww-converter.lisp
wouldwork/src/ww-validator.lisp
wouldwork/src/ww-frequencies.lisp
wouldwork/src/ww-support.lisp
wouldwork/src/ww-happenings.lisp
wouldwork/src/ww-translator.lisp
wouldwork/src/ww-installer.lisp
wouldwork/src/ww-interface.lisp
wouldwork/src/ww-problem-tests.lisp
wouldwork/src/ww-set.lisp
wouldwork/src/ww-command-tests.lisp
wouldwork/src/problem.lisp
wouldwork/src/ww-planner.lisp
wouldwork/src/ww-searcher.lisp
wouldwork/src/ww-parallel.lisp
wouldwork/src/ww-initialize.lisp
wouldwork/src/ww-utilities.lisp
packages.lisp
(file).
src
(module).
collect-at-indexes
(function).
extract-symbols
(function).
forget
(function).
hash-table-present-p
(function).
hash-table-same-keys-p
(function).
if-it
(macro).
interleave+
(function).
intern-symbol
(function).
intersperse
(function).
map-into-tree-atoms
(function).
merge-sort
(function).
mvb
(macro).
mvs
(macro).
ninsert-list
(function).
print-ht
(function).
prt
(macro).
remove-at-indexes
(function).
retrieve
(function).
save
(function).
show
(generic function).
sort-symbols
(function).
sortf
(macro).
subst-items-at-ascending-indexes
(function).
transpose
(function).
walk-tree
(function).
wouldwork/src/ww-hstack.lisp
ww-utilities.lisp
(file).
src
(module).
clear-hstack
(function).
copy-hstack
(function).
deletef-nth-hstack
(function).
empty-hstack
(function).
hstack
(structure).
hstack-p
(function).
hstack.keyfn
(reader).
(setf hstack.keyfn)
(writer).
hstack.table
(reader).
(setf hstack.table)
(writer).
hstack.vector
(reader).
(setf hstack.vector)
(writer).
length-hstack
(function).
make-hstack
(function).
nth-hstack
(function).
peek-hstack
(function).
pop-hstack
(function).
push-hstack
(function).
size-hstack
(function).
wouldwork/src/ww-preliminaries.lisp
ww-hstack.lisp
(file).
src
(module).
*lock*
(special variable).
*ww-loading*
(special variable).
cleanup-resources
(function).
define-global
(macro).
increment-global
(macro).
pop-global
(macro).
push-global
(macro).
reset-user-syms
(function).
with-silenced-compilation
(macro).
wouldwork/src/ww-settings.lisp
ww-preliminaries.lisp
(file).
src
(module).
*-*
(special variable).
*accumulated-depths*
(special variable).
*actions*
(special variable).
*average-branching-factor*
(special variable).
*best-states*
(special variable).
*branch*
(special variable).
*complements*
(special variable).
*connectives*
(special variable).
*constant-integers*
(special variable).
*cost*
(special variable).
*counter*
(special variable).
*db*
(special variable).
*debug*
(special variable).
*depth-cutoff*
(special variable).
*eff-param-vars*
(special variable).
*fluent-relation-indices*
(special variable).
*global-invariants*
(special variable).
*hap-db*
(special variable).
*hap-idb*
(special variable).
*happening-names*
(special variable).
*hdb*
(special variable).
*hidb*
(special variable).
*idb*
(special variable).
*init-actions*
(special variable).
*integer-constants*
(special variable).
*last-object-index*
(special variable).
*max-depth-explored*
(special variable).
*min-action-duration*
(special variable).
*num-idle-threads*
(special variable).
*num-init-successors*
(special variable).
*num-paths*
(special variable).
*objective-value-p*
(special variable).
*parameter-headers*
(special variable).
*print-updates*
(special variable).
*prior-time*
(special variable).
*prior-total-states-processed*
(special variable).
*probe*
(special variable).
*problem-name*
(special variable).
*problem-type*
(special variable).
*program-cycles*
(special variable).
*progress-reporting-interval*
(special variable).
*query-names*
(special variable).
*randomize-search*
(special variable).
*relations*
(special variable).
*rem-init-successors*
(special variable).
*repeated-states*
(special variable).
*search-tree*
(special variable).
*solution-count*
(special variable).
*solution-type*
(special variable).
*solutions*
(special variable).
*start-time*
(special variable).
*state-codes*
(special variable).
*static-db*
(special variable).
*static-idb*
(special variable).
*static-relations*
(special variable).
*symmetrics*
(special variable).
*threads*
(special variable).
*total-states-processed*
(special variable).
*tree-or-graph*
(special variable).
*troubleshoot-current-node*
(special variable).
*types*
(special variable).
*unique-solutions*
(special variable).
*update-names*
(special variable).
*upper*
(special variable).
*upper-bound*
(special variable).
wouldwork/src/ww-structures.lisp
ww-settings.lisp
(file).
src
(module).
print-object
(method).
print-object
(method).
*start-state*
(special variable).
action
(structure).
action-p
(function).
action.duration
(reader).
(setf action.duration)
(writer).
action.dynamic
(reader).
(setf action.dynamic)
(writer).
action.eff-defun-name
(reader).
(setf action.eff-defun-name)
(writer).
action.effect-adds
(reader).
(setf action.effect-adds)
(writer).
action.effect-lambda
(reader).
(setf action.effect-lambda)
(writer).
action.effect-variables
(reader).
(setf action.effect-variables)
(writer).
action.ieffect-lambda
(reader).
(setf action.ieffect-lambda)
(writer).
action.init
(reader).
(setf action.init)
(writer).
action.iprecondition-lambda
(reader).
(setf action.iprecondition-lambda)
(writer).
action.name
(reader).
(setf action.name)
(writer).
action.pre-defun-name
(reader).
(setf action.pre-defun-name)
(writer).
action.precondition-args
(reader).
(setf action.precondition-args)
(writer).
action.precondition-lambda
(reader).
(setf action.precondition-lambda)
(writer).
action.precondition-params
(reader).
(setf action.precondition-params)
(writer).
action.precondition-type-inst
(reader).
(setf action.precondition-type-inst)
(writer).
action.precondition-types
(reader).
(setf action.precondition-types)
(writer).
action.precondition-variables
(reader).
(setf action.precondition-variables)
(writer).
convert-to-fluent-proposition
(function).
convert-to-proposition
(function).
copy-action
(function).
copy-idb
(function).
copy-node
(function).
copy-problem-state
(function).
copy-solution
(function).
copy-update
(function).
database
(function).
get-prop-fluent-indices
(function).
list-database
(function).
make-action
(function).
make-node
(function).
make-problem-state
(function).
make-solution
(function).
make-update
(function).
node
(structure).
node-p
(function).
node.depth
(reader).
(setf node.depth)
(writer).
node.parent
(reader).
(setf node.parent)
(writer).
node.state
(reader).
(setf node.state)
(writer).
print-problem-state
(function).
problem-state
(structure).
problem-state-p
(function).
problem-state.happenings
(reader).
(setf problem-state.happenings)
(writer).
problem-state.heuristic
(reader).
(setf problem-state.heuristic)
(writer).
problem-state.hidb
(reader).
(setf problem-state.hidb)
(writer).
problem-state.idb
(reader).
(setf problem-state.idb)
(writer).
problem-state.instantiations
(reader).
(setf problem-state.instantiations)
(writer).
problem-state.name
(reader).
(setf problem-state.name)
(writer).
problem-state.time
(reader).
(setf problem-state.time)
(writer).
problem-state.value
(reader).
(setf problem-state.value)
(writer).
solution
(structure).
solution-p
(function).
solution.depth
(reader).
(setf solution.depth)
(writer).
solution.goal
(reader).
(setf solution.goal)
(writer).
solution.path
(reader).
(setf solution.path)
(writer).
solution.time
(reader).
(setf solution.time)
(writer).
solution.value
(reader).
(setf solution.value)
(writer).
update
(structure).
update-p
(function).
update.changes
(reader).
(setf update.changes)
(writer).
update.followups
(reader).
(setf update.followups)
(writer).
update.instantiations
(reader).
(setf update.instantiations)
(writer).
update.value
(reader).
(setf update.value)
(writer).
wouldwork/src/ww-converter.lisp
ww-structures.lisp
(file).
src
(module).
associate-objects-with-integers
(function).
convert-prop-list
(function).
convert-to-integer
(function).
do-integer-conversion
(function).
subst-int-code
(function).
wouldwork/src/ww-validator.lisp
ww-converter.lisp
(file).
src
(module).
$var-or-$var-list-p
(function).
$varp
(function).
?var-or-?var-list-p
(function).
?varp
(function).
check-action
(function).
check-effect-parameters
(function).
check-form-body
(function).
check-precondition-parameters
(function).
check-predicate
(function).
check-problem-parameter
(function).
check-proposition
(function).
check-query/update-call
(function).
check-query/update-function
(function).
check-relation
(function).
check-variable-names
(function).
header-p
(function).
subspec-p
(function).
trim-1st-char
(function).
type-or-query-or-either-p
(function).
user-or-lisp-type-p
(function).
varp
(function).
wouldwork/src/ww-frequencies.lisp
ww-validator.lisp
(file).
src
(module).
*freq-ht*
(special variable).
freq
(function).
process-solution
(function).
wouldwork/src/ww-support.lisp
ww-frequencies.lisp
(file).
src
(module).
add-prop
(function).
add-proposition
(function).
backward-path-exists
(function).
copy-ht-set
(function).
del-prop
(function).
delete-actions
(function).
delete-proposition
(function).
different
(function).
dissect-eff-params
(function).
dissect-pre-params
(function).
eql*
(function).
equivalent
(macro).
eval-instantiated-spec
(function).
expand-into-plist
(function).
generate-new-propositions
(function).
generate-proposition-permutations
(function).
get-complement-prop
(function).
get-fluentless-prop
(function).
get-pre-lambda-arg-lists
(function).
get-state-codes
(function).
instantiate-type-spec
(function).
make-ht-set
(function).
mvsetq
(macro).
profile
(function).
revise
(function).
set-difference-ht-set
(function).
troubleshoot
(function).
union-ht-set
(function).
update
(function).
vectorize
(function).
when-debug>=
(macro).
wouldwork/src/ww-happenings.lisp
ww-support.lisp
(file).
src
(module).
amend-happenings
(function).
constraint-violated-in-act-hap-net
(function).
get-following-happening
(function).
interrupt-condition
(function).
rebound-condition
(function).
wouldwork/src/ww-translator.lisp
ww-happenings.lisp
(file).
src
(module).
*proposition-read-mode*
(special variable).
*within-quantifier*
(special variable).
cl-symbol-p
(function).
forced-read-mode-p
(function).
generate-fluent-bindings
(function).
get-database-reference
(function).
get-function-state-parameter
(function).
get-prop-fluents
(function).
get-state-reference
(function).
merge-idb-hidb
(function).
translate
(function).
translate-assert
(function).
translate-bind
(function).
translate-case
(function).
translate-conditional
(function).
translate-connective
(function).
translate-do
(function).
translate-doall
(function).
translate-equivalent
(function).
translate-existential
(function).
translate-fluent-atom
(function).
translate-followup
(function).
translate-function-call
(function).
translate-let
(function).
translate-list
(function).
translate-mvsetq
(function).
translate-negative-relation
(function).
translate-positive-relation
(function).
translate-print
(function).
translate-proposition
(function).
translate-setq
(function).
translate-simple-atom
(function).
translate-universal
(function).
translate-ww-loop
(function).
validate-bind-form
(function).
write-operation-p
(function).
wouldwork/src/ww-installer.lisp
ww-translator.lisp
(file).
src
(module).
check-happening
(function).
create-action
(function).
define-action
(macro).
define-complementary-relations
(macro).
define-constraint
(macro).
define-dynamic-relations
(macro).
define-goal
(macro).
define-happening
(macro).
define-init
(macro).
define-init-action
(macro).
define-invariant
(macro).
define-query
(macro).
define-static-relations
(macro).
define-types
(macro).
define-update
(macro).
either
(function).
final-charp
(function).
fix-if-ignore
(function).
generate-fluent-instances
(function).
get-all-nonspecial-vars
(function).
get-all-vars
(function).
get-bound-?vars
(function).
get-special-vars
(function).
install-action
(function).
install-complementary-relations
(function).
install-constraint
(function).
install-dynamic-relations
(function).
install-goal
(function).
install-happening
(function).
install-init
(function).
install-init-action
(function).
install-query
(function).
install-static-relations
(function).
install-types
(function).
install-update
(function).
sort-either-types
(function).
symmetric-type-indexes
(function).
wouldwork/src/ww-interface.lisp
ww-installer.lisp
(file).
src
(module).
*globals-file*
(special variable).
*problem-folder-paths*
(special variable).
add-problem-folder
(function).
display-globals
(function).
get-src-folder-path
(function).
help
(function).
list-all
(function).
main
(function).
read-globals
(function).
remove-problem-folder
(function).
run
(macro).
save-globals
(function).
set-globals
(function).
%main
(function).
%run
(function).
%stage
(function).
add-dir
(function).
add-file
(function).
copy-file-content
(function).
correct-wildcard
(function).
directory-exists-p
(function).
exchange-problem-file
(function).
get-package-root
(function).
in-src
(function).
list-problem-files-plist
(function).
list-problem-names
(function).
load-problem
(function).
lookup
(function).
lstrip
(function).
read-from-file
(function).
reset-parameters
(function).
rstrip
(function).
save-to-file
(function).
solve
(function).
stage
(macro).
string-prefix-p
(function).
string-suffix-p
(function).
strip-name
(function).
wouldwork/src/ww-problem-tests.lisp
ww-interface.lisp
(file).
src
(module).
run-test-problems
(function).
*test-problem-files*
(special variable).
read-hash-table-from-file
(function).
write-hash-table-to-file
(function).
wouldwork/src/ww-set.lisp
ww-problem-tests.lisp
(file).
src
(module).
ww-set
(macro).
wouldwork/src/ww-command-tests.lisp
ww-set.lisp
(file).
src
(module).
command-test-1
(function).
command-test-2
(function).
command-test-3
(function).
command-test-4
(function).
detect-output
(function).
test-commands
(function).
wouldwork/src/problem.lisp
ww-command-tests.lisp
(file).
src
(module).
wouldwork/src/ww-planner.lisp
problem.lisp
(file).
src
(module).
create-action-state
(function).
do-init-action-updates
(function).
estimate-to-goal
(function).
expand
(function).
generate-children
(function).
get-new-states
(function).
get-next-event-time
(function).
get-wait-happenings
(function).
initialize-act-state
(function).
process-followups
(function).
record-move
(function).
wouldwork/src/ww-searcher.lisp
ww-planner.lisp
(file).
src
(module).
*closed*
(special variable).
*fixed-ht-values-fn*
(special variable).
*open*
(special variable).
*shutdown-requested*
(special variable).
at-max-depth
(function).
best-states-last
(function).
better-than-closed
(function).
bounding-function
(function).
choose-ht-value-test
(function).
compute-average-branching-factor
(function).
df-bnb1
(function).
dfs
(function).
f-value-better
(function).
finalize-path-depth
(function).
fixed-keys-ht-equal
(function).
fixed-keys-ht-hash
(function).
fixedp
(function).
generate-new-node
(function).
get-closed-values
(function).
get-next-node-for-expansion
(function).
goal
(function).
idb-in-open
(function).
idb-to-sorted-alist
(function).
lprt
(macro).
narrate
(function).
node.state.idb
(function).
node.state.idb-alist
(function).
on-current-path
(function).
print-search-progress
(function).
print-search-tree
(function).
printout-search-progress
(function).
printout-solution
(function).
probe
(function).
process-min-max-value
(function).
process-successors
(function).
record-solution-path
(function).
register-solution
(function).
search-serial
(function).
simple-break
(function).
summarize-search-results
(function).
update-max-depth-explored
(function).
update-open-if-succ-better
(function).
update-search-tree
(function).
validate-global-invariants
(function).
with-search-structures-lock
(macro).
ww-solve
(function).
wouldwork/src/ww-parallel.lisp
ww-searcher.lisp
(file).
src
(module).
handle-thread-error
(function).
original-error
(reader method).
process-threads
(function).
search-parallel
(function).
split-off
(function).
thread-error
(condition).
ww-shutdown
(function).
wouldwork/src/ww-initialize.lisp
ww-parallel.lisp
(file).
src
(module).
display-all
(function).
display-current-parameters
(function).
init
(function).
init-start-state
(function).
params
(function).
Packages are listed by definition order.
utilities
ut
common-lisp
.
collect-at-indexes
(function).
extract-symbols
(function).
forget
(function).
hash-table-present-p
(function).
hash-table-same-keys-p
(function).
if-it
(macro).
interleave+
(function).
intern-symbol
(function).
intersperse
(function).
map-into-tree-atoms
(function).
merge-sort
(function).
mvb
(macro).
mvs
(macro).
ninsert-list
(function).
print-ht
(function).
prt
(macro).
remove-at-indexes
(function).
retrieve
(function).
save
(function).
show
(generic function).
sort-symbols
(function).
sortf
(macro).
subst-items-at-ascending-indexes
(function).
transpose
(function).
walk-tree
(function).
hstack
hs
common-lisp
.
clear-hstack
(function).
copy-hstack
(function).
deletef-nth-hstack
(function).
empty-hstack
(function).
hstack
(structure).
hstack-p
(function).
hstack.keyfn
(reader).
(setf hstack.keyfn)
(writer).
hstack.table
(reader).
(setf hstack.table)
(writer).
hstack.vector
(reader).
(setf hstack.vector)
(writer).
length-hstack
(function).
make-hstack
(function).
nth-hstack
(function).
peek-hstack
(function).
pop-hstack
(function).
push-hstack
(function).
size-hstack
(function).
wouldwork
ww
common-lisp
.
iterate
.
sb-ext
.
*globals-file*
(special variable).
*problem-folder-paths*
(special variable).
add-problem-folder
(function).
display-globals
(function).
get-src-folder-path
(function).
help
(function).
list-all
(function).
main
(function).
read-globals
(function).
remove-problem-folder
(function).
run
(macro).
run-all
(function).
run-test-problems
(function).
save-globals
(function).
set-globals
(function).
$var-or-$var-list-p
(function).
$varp
(function).
%main
(function).
%run
(function).
%stage
(function).
*-*
(special variable).
*accumulated-depths*
(special variable).
*actions*
(special variable).
*average-branching-factor*
(special variable).
*best-states*
(special variable).
*branch*
(special variable).
*closed*
(special variable).
*complements*
(special variable).
*connectives*
(special variable).
*constant-integers*
(special variable).
*cost*
(special variable).
*counter*
(special variable).
*db*
(special variable).
*debug*
(special variable).
*depth-cutoff*
(special variable).
*eff-param-vars*
(special variable).
*fixed-ht-values-fn*
(special variable).
*fluent-relation-indices*
(special variable).
*freq-ht*
(special variable).
*global-invariants*
(special variable).
*hap-db*
(special variable).
*hap-idb*
(special variable).
*happening-names*
(special variable).
*hdb*
(special variable).
*hidb*
(special variable).
*idb*
(special variable).
*init-actions*
(special variable).
*integer-constants*
(special variable).
*last-object-index*
(special variable).
*lock*
(special variable).
*max-depth-explored*
(special variable).
*min-action-duration*
(special variable).
*num-idle-threads*
(special variable).
*num-init-successors*
(special variable).
*num-paths*
(special variable).
*objective-value-p*
(special variable).
*open*
(special variable).
*parameter-headers*
(special variable).
*print-updates*
(special variable).
*prior-time*
(special variable).
*prior-total-states-processed*
(special variable).
*probe*
(special variable).
*problem-name*
(special variable).
*problem-type*
(special variable).
*program-cycles*
(special variable).
*progress-reporting-interval*
(special variable).
*proposition-read-mode*
(special variable).
*query-names*
(special variable).
*randomize-search*
(special variable).
*relations*
(special variable).
*rem-init-successors*
(special variable).
*repeated-states*
(special variable).
*search-tree*
(special variable).
*shutdown-requested*
(special variable).
*solution-count*
(special variable).
*solution-type*
(special variable).
*solutions*
(special variable).
*start-state*
(special variable).
*start-time*
(special variable).
*state-codes*
(special variable).
*static-db*
(special variable).
*static-idb*
(special variable).
*static-relations*
(special variable).
*symmetrics*
(special variable).
*test-problem-files*
(special variable).
*threads*
(special variable).
*total-states-processed*
(special variable).
*tree-or-graph*
(special variable).
*troubleshoot-current-node*
(special variable).
*types*
(special variable).
*unique-solutions*
(special variable).
*update-names*
(special variable).
*upper*
(special variable).
*upper-bound*
(special variable).
*within-quantifier*
(special variable).
*ww-loading*
(special variable).
?var-or-?var-list-p
(function).
?varp
(function).
action
(structure).
action-p
(function).
action.duration
(reader).
(setf action.duration)
(writer).
action.dynamic
(reader).
(setf action.dynamic)
(writer).
action.eff-defun-name
(reader).
(setf action.eff-defun-name)
(writer).
action.effect-adds
(reader).
(setf action.effect-adds)
(writer).
action.effect-lambda
(reader).
(setf action.effect-lambda)
(writer).
action.effect-variables
(reader).
(setf action.effect-variables)
(writer).
action.ieffect-lambda
(reader).
(setf action.ieffect-lambda)
(writer).
action.init
(reader).
(setf action.init)
(writer).
action.iprecondition-lambda
(reader).
(setf action.iprecondition-lambda)
(writer).
action.name
(reader).
(setf action.name)
(writer).
action.pre-defun-name
(reader).
(setf action.pre-defun-name)
(writer).
action.precondition-args
(reader).
(setf action.precondition-args)
(writer).
action.precondition-lambda
(reader).
(setf action.precondition-lambda)
(writer).
action.precondition-params
(reader).
(setf action.precondition-params)
(writer).
action.precondition-type-inst
(reader).
(setf action.precondition-type-inst)
(writer).
action.precondition-types
(reader).
(setf action.precondition-types)
(writer).
action.precondition-variables
(reader).
(setf action.precondition-variables)
(writer).
add-dir
(function).
add-file
(function).
add-prop
(function).
add-proposition
(function).
amend-happenings
(function).
associate-objects-with-integers
(function).
at-max-depth
(function).
backward-path-exists
(function).
best-states-last
(function).
better-than-closed
(function).
bounding-function
(function).
check-action
(function).
check-effect-parameters
(function).
check-form-body
(function).
check-happening
(function).
check-precondition-parameters
(function).
check-predicate
(function).
check-problem-parameter
(function).
check-proposition
(function).
check-query/update-call
(function).
check-query/update-function
(function).
check-relation
(function).
check-variable-names
(function).
choose-ht-value-test
(function).
cl-symbol-p
(function).
cleanup-resources
(function).
command-test-1
(function).
command-test-2
(function).
command-test-3
(function).
command-test-4
(function).
compute-average-branching-factor
(function).
constraint-violated-in-act-hap-net
(function).
convert-prop-list
(function).
convert-to-fluent-proposition
(function).
convert-to-integer
(function).
convert-to-proposition
(function).
copy-action
(function).
copy-file-content
(function).
copy-ht-set
(function).
copy-idb
(function).
copy-node
(function).
copy-problem-state
(function).
copy-solution
(function).
copy-update
(function).
correct-wildcard
(function).
create-action
(function).
create-action-state
(function).
database
(function).
define-action
(macro).
define-complementary-relations
(macro).
define-constraint
(macro).
define-dynamic-relations
(macro).
define-global
(macro).
define-goal
(macro).
define-happening
(macro).
define-init
(macro).
define-init-action
(macro).
define-invariant
(macro).
define-query
(macro).
define-static-relations
(macro).
define-types
(macro).
define-update
(macro).
del-prop
(function).
delete-actions
(function).
delete-proposition
(function).
detect-output
(function).
df-bnb1
(function).
dfs
(function).
different
(function).
directory-exists-p
(function).
display-all
(function).
display-current-parameters
(function).
dissect-eff-params
(function).
dissect-pre-params
(function).
do-init-action-updates
(function).
do-integer-conversion
(function).
either
(function).
eql*
(function).
equivalent
(macro).
estimate-to-goal
(function).
eval-instantiated-spec
(function).
exchange-problem-file
(function).
expand
(function).
expand-into-plist
(function).
f-value-better
(function).
final-charp
(function).
finalize-path-depth
(function).
fix-if-ignore
(function).
fixed-keys-ht-equal
(function).
fixed-keys-ht-hash
(function).
fixedp
(function).
forced-read-mode-p
(function).
freq
(function).
generate-children
(function).
generate-fluent-bindings
(function).
generate-fluent-instances
(function).
generate-new-node
(function).
generate-new-propositions
(function).
generate-proposition-permutations
(function).
get-all-nonspecial-vars
(function).
get-all-vars
(function).
get-bound-?vars
(function).
get-closed-values
(function).
get-complement-prop
(function).
get-database-reference
(function).
get-fluentless-prop
(function).
get-following-happening
(function).
get-function-state-parameter
(function).
get-new-states
(function).
get-next-event-time
(function).
get-next-node-for-expansion
(function).
get-package-root
(function).
get-pre-lambda-arg-lists
(function).
get-prop-fluent-indices
(function).
get-prop-fluents
(function).
get-special-vars
(function).
get-state-codes
(function).
get-state-reference
(function).
get-wait-happenings
(function).
goal
(function).
handle-thread-error
(function).
header-p
(function).
idb-in-open
(function).
idb-to-sorted-alist
(function).
in-src
(function).
increment-global
(macro).
init
(function).
init-start-state
(function).
initialize-act-state
(function).
install-action
(function).
install-complementary-relations
(function).
install-constraint
(function).
install-dynamic-relations
(function).
install-goal
(function).
install-happening
(function).
install-init
(function).
install-init-action
(function).
install-query
(function).
install-static-relations
(function).
install-types
(function).
install-update
(function).
instantiate-type-spec
(function).
interrupt-condition
(function).
list-database
(function).
list-problem-files-plist
(function).
list-problem-names
(function).
load-problem
(function).
lookup
(function).
lprt
(macro).
lstrip
(function).
make-action
(function).
make-ht-set
(function).
make-node
(function).
make-problem-state
(function).
make-solution
(function).
make-update
(function).
merge-idb-hidb
(function).
mvsetq
(macro).
narrate
(function).
node
(structure).
node-p
(function).
node.depth
(reader).
(setf node.depth)
(writer).
node.parent
(reader).
(setf node.parent)
(writer).
node.state
(reader).
(setf node.state)
(writer).
node.state.idb
(function).
node.state.idb-alist
(function).
on-current-path
(function).
original-error
(generic reader).
params
(function).
pop-global
(macro).
print-problem-state
(function).
print-search-progress
(function).
print-search-tree
(function).
printout-search-progress
(function).
printout-solution
(function).
probe
(function).
problem-state
(structure).
problem-state-p
(function).
problem-state.happenings
(reader).
(setf problem-state.happenings)
(writer).
problem-state.heuristic
(reader).
(setf problem-state.heuristic)
(writer).
problem-state.hidb
(reader).
(setf problem-state.hidb)
(writer).
problem-state.idb
(reader).
(setf problem-state.idb)
(writer).
problem-state.instantiations
(reader).
(setf problem-state.instantiations)
(writer).
problem-state.name
(reader).
(setf problem-state.name)
(writer).
problem-state.time
(reader).
(setf problem-state.time)
(writer).
problem-state.value
(reader).
(setf problem-state.value)
(writer).
probs
(function).
process-followups
(function).
process-min-max-value
(function).
process-solution
(function).
process-successors
(function).
process-threads
(function).
profile
(function).
push-global
(macro).
read-from-file
(function).
read-hash-table-from-file
(function).
rebound-condition
(function).
record-move
(function).
record-solution-path
(function).
register-solution
(function).
reset-parameters
(function).
reset-user-syms
(function).
revise
(function).
rstrip
(function).
run-test
(function).
save-to-file
(function).
search-parallel
(function).
search-serial
(function).
set-difference-ht-set
(function).
simple-break
(function).
solution
(structure).
solution-p
(function).
solution.depth
(reader).
(setf solution.depth)
(writer).
solution.goal
(reader).
(setf solution.goal)
(writer).
solution.path
(reader).
(setf solution.path)
(writer).
solution.time
(reader).
(setf solution.time)
(writer).
solution.value
(reader).
(setf solution.value)
(writer).
solve
(function).
sort-either-types
(function).
split-off
(function).
stage
(macro).
string-prefix-p
(function).
string-suffix-p
(function).
strip-name
(function).
subspec-p
(function).
subst-int-code
(function).
summarize-search-results
(function).
symmetric-type-indexes
(function).
test
(function).
test-commands
(function).
thread-error
(condition).
translate
(function).
translate-assert
(function).
translate-bind
(function).
translate-case
(function).
translate-conditional
(function).
translate-connective
(function).
translate-do
(function).
translate-doall
(function).
translate-equivalent
(function).
translate-existential
(function).
translate-fluent-atom
(function).
translate-followup
(function).
translate-function-call
(function).
translate-let
(function).
translate-list
(function).
translate-mvsetq
(function).
translate-negative-relation
(function).
translate-positive-relation
(function).
translate-print
(function).
translate-proposition
(function).
translate-setq
(function).
translate-simple-atom
(function).
translate-universal
(function).
translate-ww-loop
(function).
trim-1st-char
(function).
troubleshoot
(function).
type-or-query-or-either-p
(function).
union-ht-set
(function).
update
(function).
update
(structure).
update-max-depth-explored
(function).
update-open-if-succ-better
(function).
update-p
(function).
update-search-tree
(function).
update.changes
(reader).
(setf update.changes)
(writer).
update.followups
(reader).
(setf update.followups)
(writer).
update.instantiations
(reader).
(setf update.instantiations)
(writer).
update.value
(reader).
(setf update.value)
(writer).
user-or-lisp-type-p
(function).
validate-bind-form
(function).
validate-global-invariants
(function).
varp
(function).
vectorize
(function).
when-debug>=
(macro).
with-search-structures-lock
(macro).
with-silenced-compilation
(macro).
write-hash-table-to-file
(function).
write-operation-p
(function).
ww-set
(macro).
ww-shutdown
(function).
ww-solve
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
In the vals.lisp file of this package the values of parameters
are stored as a list.
This should preserve when reloading the package for problems
the values of these global variables. The user should not
have to worry about the changes of these values after reloading.
This variable holds all folder pathnames which can hold problems in this system.
The user cann add custom folder pathnames to this folder using the function
‘add-problem-folder‘ and remove by ‘remove-problem-folder‘.
The Package directory’s ‘src‘ folder, however will always persist.
Adds an additional path to a folder containing problem-*.lisp files to the global list ‘*problem-folder-paths*‘.
List all problem names in the problem folder. One-per-line: (list-all t) or (list-all :pretty)
Entry point for the executable. Reads command line arguments.
Read and setf values for global variables from vals.lisp file.
Removes folder-path from global ‘*problem-folder-paths*‘ list. It always leaves the packages’ ‘src‘ folder present!
Save the values of the globals in the vals.lisp file.
Set multiple globals at once in keywords argument format.
problem-state
) stream) ¶Division marker for debugging printout convenience.
Sums the final depths of all terminated paths so far.
List of all potential actions.
Average branching factor so far during search (shared).
Holds the best states encountered during a graph search.
If n>0, explore only the nth branch from the *start-state*.
Contains the set of closed state idbs for graph search, idb -> (depth time value).
Table of complement relations.
Logical connectives.
Integer codes for the problem’s object constants.
For misc debugging with probe function
Initial database of dynamic db relations.
Set the debug level for subsequent runs.
0 - no debugging
1 - display full search tree
2 - display full search tree with states
3 - display basic nodes
4 - display full nodes
5 - display full nodes + break after each expansion cycle
Negative or 0 means no cutoff.
Make eff-param-vars available in translate-assert.
Determines which equality test to use in fixed-keys-ht-equal.
List of fluent argument indices for a relation.
List of invariant query functions to check on every state.
Initial database of happenings propositions.
Initial integer database of happenings propositions.
The list of objects having exogenous events.
Initial database of dynamic hdb relations.
Initial integer database of dynamic hidb propositions.
Initial integer database of dynamic idb propositions.
List of all initialization actions.
Translating codes back to constants for printout.
Last index of object constants seen so far in propositions.
Keeps track of the maximum depth reached so far during the search (shared).
The least action duration among all actions.
Holds the number of currently idle threads (shared).
The number of branches completed so far from the start state.
Tracks the total number of paths explored so far.
Does the variable $objective-value appear in an action rule.
The hash-stack structure containing the stack of open nodes as a vector, and hash table of idb -> node.
The different ways values can be combined in a pre-parameter list.
Print each database update while T
Time since last progress printing (shared).
Count of states produced since last progress printing (shared).
Inserts a probe to stop processing at a specific state.
Name of the current problem, reassigned in problem.lisp by user.
Spedify whether it’s a planning problem or constraint satisfaction problem.
Count of complete cycles of searching (shared).
Print progress during search after each multiple n of states examined.
Dynamic variable controlling read/write mode during translation.
When :unbound: Use context-dependent behavior (default)
When t: Force read operations (queries only)
When nil: Force write operations
List of all user-defined query functions.
Set to t or nil.
Dynamic relations.
Holds the remaining initial branch nodes from the start state.
Count of the repeated states during a graph search.
DFS search tree for debugging (serial processing only).
Variable used to signal threads shutdown, if *threads* > 0
Holds the total number of solutions found following search.
Specify whether to search for first, min-length, min-time, or every solution.
Holds the solutions found during search.
Start search from this state.
Stores time at beginning of the search.
Holding place for integer state codes in bi-directional search.
Initial database of static propositions.
Initial integer database of static propositions.
Static relations.
Symmetric relations.
The number of parallel threads to use.
0 means no parallelism (ie, serial processing)
1 means use one parallel thread
(in addition to parallel management, effectively serial, useful for debugging)
2 means two or more parallel processing threads
N up to the number of available CPU threads
Count of states either newly generated, updated, or regenerated while searching (shared).
Whether there are repeated states (graph) or not (tree); try both.
A flag telling wouldwork to redo the current node for debugging.
Table of all types.
List of all user-defined update functions.
Dynamic variable indicating whether translation is occurring within a quantifier context.
When T, IF statements return explicit T/NIL for control flow semantics.
When NIL, IF statements preserve natural value-returning semantics.
Flag to indicate if Wouldwork is currently being loaded. Reset in ww-initialize.lisp
Convenience for defining globals in ww-setting.lisp for single- or multi-threading operation.
Define an invariant condition that must always be true. Registers the invariant for global checking during planning.
Returns true if all forms evaluate to nil, or if all forms evaluate to non-nil.
Binds the variable ’it’ to the result of evaluating the form, which can then be used subsequently in the then or else clauses.
Print some variable values in a thread for debugging.
Abbreviation for multiple-value-bind.
Abbreviation for multiple-value-setq.
Print the names & values of given forms (ie,variables or accessors). Can wrap around an expression, returning its value.
Modifies a referenced sequence by sorting it.
Loads a specified problem to be subsequently solved. This allows the user to verify/debug their problem specification, and check the current parameters, without asking wouldwork to solve it as run does. Once the problem loads correctly, it can then be solved with a follow-up (solve) command.
Inserts debugging expressions when *debug* >= n, otherwise NIL
Protects composite operations on *open* and *closed* search structures. Threading mode determined at compile time for optimal performance.
Macro to suppress normal compilation output while preserving error reporting.
Allows resetting of user parameters during and after loading.
Parse CLI args.
Stages and solves a user specified problem.
Loads a specified problem to be subsequently solved. This allows the user to verify/debug their problem specification, and check the current parameters, without asking wouldwork to solve it as run does. Once the problem loads correctly, it can then be solved with a follow-up (solve) command.
init
.
name
.
Add to absolute path an additional directory
Add to absolute path a filename
Effectively adds an atomic proposition to the database.
Adds an atomic proposition and all its symmetries to the database.
Creates hap-state with happenings up through the action completion time for all happenings. Returns net-state = act-state + hap-state, and checks for constraint violation.
Build list of all object constants requiring conversion.
Determines if installing a nongoal successor to the current node will be pointless, based on it being at the max allowable depth.
Use in forward search goal to check existence of backward path.
Used to sort a list of expanded states according to the user-defined heuristic.
Determines if f-value of successor is better than closed state.
Applies the bounding function, if there is one.
Test an action by finding a valid instantiation and showing the effect.
:ADD is a list of propositions to add to the test state to satisfy preconditions.
Checks a user action effect.
Detects an error in a ww translated form expression.
Checks a user precondition action or logical parameter list.
Detects an error in the use of an unknown predicate.
Detects an error in a proposition–eg, (height block1 3) or (loc ?queen $row (1+ $col)).
Checks the validity of a call to a query or update function during translation–eg, (cleartop? ?block)
Detects an error in the supplied arguments to a user-defined query or update function–eg, (?queen $row $col).
Checks for errors in a user-defined relation–eg, (height ?obj $fixnum).
Checks the validity (eg, spelling) of vars in an action rule.
Chooses either #’equal or #’equalp as a test for *closed* ht (idb) keys.
Return true if item is from the common-lisp package.
Attempt to shutdown dangling threads safely in SBCL.
Collect items at given indexes from a list.
Verify default blocks3 runs properly if no prior problem.lisp or vals.lisp
Verify problem properly switches to new problem
Verify proper notification if requested problem file does not exist
Verify basic ww-set for *depth-cutoff* *tree-or-graph* *solution-type* *progress-reporting-interval* *randomize-search* *branch* *probe* *debug*
Average branching on each cycle.
Determines whether the input states violate a constraint or not.
Converts a statement form in an action–eg, (list ’loc ?jammer ?area) with no $vars to an integer key form for efficient db access.
Converts an idb partial prop -> index values into literal prop.
Converts an integer code back to a proposition.
Replace the content of target-file by the content of source-file.
Copy a set hash table (with t values).
Copies a Wouldwork database.
Eliminate unwanted wildcard escape in path strings.
Creates a new wait or non-wait state.
Prints the current database for state.
Use as (ut::prt (database state)) as diagnostic in rules & functions.
Effectively removes an atomic proposition from the database.
Deletes named actions from *actions* at run-time.
Deletes the nth entry in a hash stack and returns it.
If a function prints to *standard-output*, then capture the output, otherwise return nil. Returns a fresh simple string to ensure consistent behavior.
Performs expansion of one node from open. Returns
new successor nodes, (first), or nil if no new nodes generated.
Main search program.
Determines whether two symbols are different.
Returns pathname if the directory exists and is a directory. Currently only works with SBCL - but not CLISP!
Returns a list of primitive eff-parameter variables and types.
Checks precondition of each init-action,
and if true, then updates db and static-db according to each init-action effect.
Convert all objects to integers & put in idatabases.
Determine if a hash stack is empty.
Heuristic (h) for estimating distance to a goal state from this state; Return 0 to use no heuristic.
Receives possibly nested static or dynamic input from instantiate-type-spec, and evaluates it. Works with state, idb, or context-aware parameter.
Copies problem file to src/problem.lisp
Returns the new states.
Return alternating plist of variable/type from input parameter list.
Splits a symbol, whose print name contains the delimiter #., into two symbols.
Computes f-value of current-node to see if it’s better than best solution so far.
Determines if a symbol has a given final character in its name.
Records the path depth of a path that terminates.
Ignores variable symbols that are not in the lambda-body.
Quick equality test with *closed* for two hash tables with the same fixed keys. The equality predicate tests the hash table values, skipping the keys.
Determines if all relations have $var args, and thus have fixed keys idb.
Returns t if read mode has been explicitly forced via *proposition-read-mode*.
Removes a symbol from the current package.
Return the alist of sequences with their respective counts, max first.
Returns the legitimate children of a state. Checks precondition of each action, and if true, then updates db according to action effects.
Generates setf forms for binding fluent variables to retrieved values. Optimizes accessor patterns for common cases while handling arbitrary arity.
Generate all combinations of instances for a relation signature, where nil values represent fluent positions.
Produces a new node for a given successor.
Collects new propositions for each prop in propositions.
Returns list of propositions generated from given proposition replacing items at indices with vars, respectively.
Selects one each of non-special variables in the tree satisfying fn.
Selects one each of all variables in the tree satisfying fn.
Retrieves the bound ?vars from a code tree.
Returns the closed values (depth time value) for the given idb, or nil if not found.
Derives the complement proposition counterpart from a given proposition.
Determines appropriate database reference for proposition evaluation.
Handles static relations, dynamic relations, and happening contexts consistently.
Derives the fluentless proposition counterpart from a full proposition.
Derive the following happening update for an object.
Determines appropriate state parameter for function calls based on function type and context. Query functions use context-aware selection, update functions use direct context mapping.
Creates new states given current state and the new updates.
Returns the time of the next happening event, considering all objects.
Returns the node at the top of open.
Return the root directory of the ASDF system associated with the given package name.
Returns list of instantiations as arg list for a rule precondition.
Returns the fluent values in an arbitrary proposition.
Collects any special declared variables from tree.
User calls this after finding backwards *solutions*.
Centralized state reference determination
Returns t or nil depending on if state is a goal state.
Handle errors in threads by signaling shutdown and printing error information.
Determines if a key is present in ht.
Returns t if two hash tables have the same keys.
Determines if an idb hash table’s contents match the contents of a key in open’s table. Returns the node in open or nil.
Converts an IDB hash table to a sorted alist using Alexandria.
Shortcut to add filename to current package directory’s src folder
Returns a new child of state incorporating action updated-db list, or nil if repeating previous wait action.
Revised query function installation with consistent state parameter handling
Revised update function installation with explicit effect context
Given the pre-type-spec from dissect-pre-params,
eg (product gate (get-remaining? ladder) (product fan fan)),
instantiate all of the included types,
eg (product (gate1 gate2) (get-remaining? ladder) (product (fan1 fan2) (fan1 fan2))).
Inserts a + sign between list items.
Interns a symbol created by concatenating args. Based on symb in Let Over Lambda.
Determines if the interrupt function for object is satisfied in this state; eg, if the object is currently being jammed, and therefore disabled.
Returns a list with element inserted at odd indexed locations.
Used to printout idb in propositional form.
Return a plist of files in the ’src’ directory that start with ’problem-’.
The key is the filename without ’problem-’ and ’.lisp’.
The value is the full path of the file. Uses the root directory of the ’wouldwork’ system.
Given a problem-name, replace the content of the problem.lisp file by
the content of the correponsing problem file, and then reloads everything.
Key value lookup in plist with #’string= or any other function as test. The plist-related getf can only handle eql.
Removes prefix from str (only 1x).
Makes a wouldwork hash-table that works as a set container for the user.
Returns a new tree with all atoms replaced by the value of fn.
Merges the two databases of state.
Adds an item to list of items sorted.
Destructively inserts new element in a list at given position <= length lst
Gets the idb of a node.
Gets the canonical alist representation of a node’s idb for efficient hstack lookup.
Determines if a successor is already on the current path from the start state.
Pops an element from hstack’s vector and removes it from the table. Error if hstk empty.
Prints a hash table line by line.
Printout of nodes expanded so far during search modulo reporting interval.
Breaks when the current node matches action name, instantiations, depth, and count from start–eg, (put (a b) 1).
hidb
.
idb
.
name
.
time
.
Triggering forms are saved previously during effect apply.
Determines if succ-state value is an improvement, and if so updates *best-states*.
Installs sequences of run-length in a solution into a hash table.
The main consumer of parallel thread processing with controlled shutdown.
Deterministically profiles Wouldwork.
Pushes an element onto hstack’s vector and table. Returns the hstack and whether the element was added.
Determines if a rebound condition is satisfied in this state.
Returns some user-friendly representation of the move from the parent state to the current state.
Recovers a path from a goal node back to the start node following parent links.
Inserts a new solution on the list of *solutions*.
Removes items at given indexes from a list.
Resets global parameters to defaults
Retrieves one or more objects from a file.
Updates a database given a simple list of atomic propositions.
Removes suffix from str (only 1x).
Saves an object to a file so it can be read in later.
Branch & Bound DFS parallel search in each thread with shutdown check.
Branch & Bound DFS serial search.
Returns a new hash table that represents the set difference of HT1 and HT2.
Call to simplify debugger printout on a break.
goal
.
path
.
time
.
Alphabetically sorts the ’either’ types in a relation.
Sorts a list of symbols alphabetically.
Removes the bottom node on open and returns a new split-off subopen with it.
Return T if PREFIX is a prefix of STR, otherwise NIL.
Return T if SUFFIX is a suffix of STR, otherwise NIL.
Removes prefix and suffix from str.
Substitutes for elements at given indexes in a list. Indexes & items must correspond and be in ascending order.
Returns the set of type indexes for the multi-types of a symmetric relation.
Run a series of tests to exercise potential user REPL commands.
Beginning translator for all forms in actions.
Translates an assert statement with selective write-mode context.
Revised binding translation with unified state reference strategy.
Translates binding operations like (bind (loc ?obj $area)) where fluent variables
get bound to values retrieved from the database. Always performs read-only queries
regardless of syntactic context.
Returns:
- t if proposition found and variables successfully bound
- nil if proposition not found in database
Side effects:
- Sets fluent variables to corresponding values from retrieved proposition
Translates a case statement.
Conditional translation with proper read-mode isolation.
Translates logical connectives (and, or, etc.) by recursively translating all operands
with consistent context propagation. Preserves the original connective structure while
ensuring each operand is translated according to the current context flag.
Context Behaviors:
- pre: All operands become read operations against original state
- eff: All operands follow read/write determination based on syntactic context
- context-aware: All operands adapt to runtime state selection
Read-mode propagation: Connectives preserve current *proposition-read-mode* context,
allowing sub-forms to make appropriate read/write decisions.
Examples:
(and (connected ?a ?b) (color ?a blue))
→ Precondition: Both operands query state
→ Effect: Both operands update state+ (unless in read-mode)
→ Condition: Both operands query appropriate state
Translates a simple set of clauses.
DOALL translation with translation-time quantifier context.
Translates equivalence by forcing read operations on all operands
Existential translation with translation-time quantifier context.
Translates propositions with fluents using standardized database reference.
Revised function call translation using unified state reference strategy
Translates a let clause, including binding forms.
Most basic form translation.
Translates a multiple-value-setq clause.
Always returns t to maintain logical continuation semantics.
Unified negative relation translation maintaining read/write context consistency. Preserves negation semantics across both query and update operations.
Unified positive relation translation with context-aware read/write determination. Automatically detects whether to perform read operations (queries) or write operations (updates) based on syntactic context rather than just translation flag.
Translates a print statement for debugging actions.
Distinguishes fluent from non-fluent propositions.
Translates a setq statement. Used to assign a variable the value of a function. Always returns t, even if nil is assigned.
Example usage of get-state-reference with proper database selection logic.
Eg, (velocity ?car wheel1 50) -> (list ’velocity ?car ’wheel1 50) with no fluents.
Universal translation with translation-time quantifier context.
WW-loop translation with translation-time context override.
Regroups all first elements together, second elements together, etc into a new list-of-lists. Changes instantiate-types into arg format for some, every, etc. ((a b) (c d) (e f)) -> ((a c e) (b d f))
Trims the first character from a symbol–eg, $block -> block.
Unions two hash tables keys. Assumes values are all t and have the same :test function.
Single add or delete from db.
Determines if f-value of successor is better than open state, and updates it.
Determines if a symbol is either a user-defined type or a lisp type.
Validates bind form structure and proposition format. Ensures proper syntax before translation proceeds.
Validate all registered global invariants on the given succ-state.
Returns T if all invariants pass, NIL if any fail.
If current-node is nil, this is a start state validation.
Turns a list of lists into vector vectors.
Apply fun to each cons and atom in tree.
Returns t if we should perform write operations (database updates).
Write operations occur in effect contexts unless read mode is explicitly forced.
Initiate a controlled shutdown of all threads.
Runs a branch & bound search on the problem specification.
thread-error
)) ¶Displays an object in a user-friendly format.
error
.
:original-error
This slot is read-only.
structure-object
.
symbol
symbol
symbol
real
0.0
list
list
list
list
list
(or list symbol)
(member nil t)
list
list
list
list
list
list
An hstack (hash stack) is a functional stack containing an adjustable one-dimensional array of elements, plus a hash table for quickly determining if an element is in the stack. Keyfn is applied to elements to access the hash table. New elements are pushed at the fill-pointer, and popped at the fill-pointer minus 1.
structure-object
.
common-lisp
.
(array * (*))
(make-array 0 :adjustable t :fill-pointer t)
(make-hash-table)
function
(function identity)
A planning state including the current propositional database.
structure-object
.
symbol
list
list
common-lisp
.
real
0.0
real
0.0
real
0.0
hash-table
(make-hash-table)
hash-table
(make-hash-table)
The record of a solution.
structure-object
.
fixnum
0
common-lisp
.
real
0.0
real
0.0
list
wouldwork::problem-state
(wouldwork::make-problem-state)
Db updates resulting from a successful action instantiation.
Jump to: | $
%
(
?
A B C D E F G H I L M N O P R S T U V W |
---|
Jump to: | $
%
(
?
A B C D E F G H I L M N O P R S T U V W |
---|
Jump to: | *
C D E F G H I K N O P S T V |
---|
Jump to: | *
C D E F G H I K N O P S T V |
---|
Jump to: | A C F H M N P S T U W |
---|
Jump to: | A C F H M N P S T U W |
---|