The wouldwork Reference Manual

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.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 wouldwork

classical planning with the wouldwork planner

Authors

Program Development, Dave Brown <>
Quicklisp Integration & Test, Gwang-Jin Kim <>

Home Page

https://github.com/davypough/quick-wouldwork

Source Control

(GIT https://github.com/davypough/quick-wouldwork.git)

Bug Tracker

https://github.com/davypough/quick-wouldwork/issues

License

MIT

Version

0.0.1

Dependencies
  • alexandria (system).
  • iterate (system).
  • lparallel (system).
Source

wouldwork.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 wouldwork/src

Source

wouldwork.asd.

Parent Component

wouldwork (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 wouldwork/wouldwork.asd

Source

wouldwork.asd.

Parent Component

wouldwork (system).

ASDF Systems

wouldwork.


4.1.2 wouldwork/src/packages.lisp

Source

wouldwork.asd.

Parent Component

src (module).

Packages

4.1.3 wouldwork/src/ww-utilities.lisp

Dependency

packages.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.4 wouldwork/src/ww-hstack.lisp

Dependency

ww-utilities.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.5 wouldwork/src/ww-preliminaries.lisp

Dependency

ww-hstack.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.6 wouldwork/src/ww-settings.lisp

Dependency

ww-preliminaries.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.7 wouldwork/src/ww-structures.lisp

Dependency

ww-settings.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 wouldwork/src/ww-converter.lisp

Dependency

ww-structures.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.9 wouldwork/src/ww-validator.lisp

Dependency

ww-converter.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.10 wouldwork/src/ww-frequencies.lisp

Dependency

ww-validator.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.11 wouldwork/src/ww-support.lisp

Dependency

ww-frequencies.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.12 wouldwork/src/ww-happenings.lisp

Dependency

ww-support.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.13 wouldwork/src/ww-translator.lisp

Dependency

ww-happenings.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.14 wouldwork/src/ww-installer.lisp

Dependency

ww-translator.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.15 wouldwork/src/ww-interface.lisp

Dependency

ww-installer.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.16 wouldwork/src/ww-problem-tests.lisp

Dependency

ww-interface.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Public Interface

run-test-problems (function).

Internals

4.1.17 wouldwork/src/ww-set.lisp

Dependency

ww-problem-tests.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

ww-set (macro).


4.1.18 wouldwork/src/ww-command-tests.lisp

Dependency

ww-set.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.19 wouldwork/src/problem.lisp

Dependency

ww-command-tests.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).


4.1.20 wouldwork/src/ww-planner.lisp

Dependency

problem.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.21 wouldwork/src/ww-searcher.lisp

Dependency

ww-planner.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.22 wouldwork/src/ww-parallel.lisp

Dependency

ww-searcher.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

4.1.23 wouldwork/src/ww-initialize.lisp

Dependency

ww-parallel.lisp (file).

Source

wouldwork.asd.

Parent Component

src (module).

Internals

5 Packages

Packages are listed by definition order.


5.1 utilities

Source

packages.lisp.

Nickname

ut

Use List

common-lisp.

Internals

5.2 hstack

Source

packages.lisp.

Nickname

hs

Use List

common-lisp.

Internals

5.3 wouldwork

Source

packages.lisp.

Nickname

ww

Use List
  • common-lisp.
  • iterate.
  • sb-ext.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *globals-file*

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.

Package

wouldwork.

Source

ww-interface.lisp.

Special Variable: *problem-folder-paths*

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.

Package

wouldwork.

Source

ww-interface.lisp.


6.1.2 Macros

Macro: run (problem-name)

Stages and solves a user specified problem.

Package

wouldwork.

Source

ww-interface.lisp.


6.1.3 Ordinary functions

Function: add-problem-folder (folder-path)

Adds an additional path to a folder containing problem-*.lisp files to the global list ‘*problem-folder-paths*‘.

Package

wouldwork.

Source

ww-interface.lisp.

Function: display-globals ()
Package

wouldwork.

Source

ww-interface.lisp.

Function: get-src-folder-path ()
Package

wouldwork.

Source

ww-interface.lisp.

Function: help ()
Package

wouldwork.

Source

ww-interface.lisp.

Function: list-all (&optional prettyp)

List all problem names in the problem folder. One-per-line: (list-all t) or (list-all :pretty)

Package

wouldwork.

Source

ww-interface.lisp.

Function: main ()

Entry point for the executable. Reads command line arguments.

Package

wouldwork.

Source

ww-interface.lisp.

Function: read-globals ()

Read and setf values for global variables from vals.lisp file.

Package

wouldwork.

Source

ww-interface.lisp.

Function: remove-problem-folder (folder-path)

Removes folder-path from global ‘*problem-folder-paths*‘ list. It always leaves the packages’ ‘src‘ folder present!

Package

wouldwork.

Source

ww-interface.lisp.

Function: run-all ()
Package

wouldwork.

Alias for

run-test-problems.

Function: run-test-problems ()
Package

wouldwork.

Source

ww-problem-tests.lisp.

Function: save-globals ()

Save the values of the globals in the vals.lisp file.

Package

wouldwork.

Source

ww-interface.lisp.

Function: set-globals (&key problem-name depth-cutoff tree-or-graph solution-type progress-reporting-interval randomize-search branch probe debug)

Set multiple globals at once in keywords argument format.

Package

wouldwork.

Source

ww-interface.lisp.


6.1.4 Standalone methods

Method: print-object ((ps problem-state) stream)
Source

ww-structures.lisp.

Method: print-object ((object node) stream)
Source

ww-structures.lisp.


6.2 Internals


6.2.1 Special variables

Special Variable: *-*

Division marker for debugging printout convenience.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *accumulated-depths*

Sums the final depths of all terminated paths so far.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *actions*

List of all potential actions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *average-branching-factor*

Average branching factor so far during search (shared).

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *best-states*

Holds the best states encountered during a graph search.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *branch*

If n>0, explore only the nth branch from the *start-state*.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *closed*

Contains the set of closed state idbs for graph search, idb -> (depth time value).

Package

wouldwork.

Source

ww-searcher.lisp.

Special Variable: *complements*

Table of complement relations.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *connectives*

Logical connectives.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *constant-integers*

Integer codes for the problem’s object constants.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *cost*
Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *counter*

For misc debugging with probe function

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *db*

Initial database of dynamic db relations.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *debug*

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

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *depth-cutoff*

Negative or 0 means no cutoff.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *eff-param-vars*

Make eff-param-vars available in translate-assert.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *fixed-ht-values-fn*

Determines which equality test to use in fixed-keys-ht-equal.

Package

wouldwork.

Source

ww-searcher.lisp.

Special Variable: *fluent-relation-indices*

List of fluent argument indices for a relation.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *freq-ht*
Package

wouldwork.

Source

ww-frequencies.lisp.

Special Variable: *global-invariants*

List of invariant query functions to check on every state.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *hap-db*

Initial database of happenings propositions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *hap-idb*

Initial integer database of happenings propositions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *happening-names*

The list of objects having exogenous events.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *hdb*

Initial database of dynamic hdb relations.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *hidb*

Initial integer database of dynamic hidb propositions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *idb*

Initial integer database of dynamic idb propositions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *init-actions*

List of all initialization actions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *integer-constants*

Translating codes back to constants for printout.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *last-object-index*

Last index of object constants seen so far in propositions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *lock*
Package

wouldwork.

Source

ww-preliminaries.lisp.

Special Variable: *max-depth-explored*

Keeps track of the maximum depth reached so far during the search (shared).

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *min-action-duration*

The least action duration among all actions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *num-idle-threads*

Holds the number of currently idle threads (shared).

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *num-init-successors*

The number of branches completed so far from the start state.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *num-paths*

Tracks the total number of paths explored so far.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *objective-value-p*

Does the variable $objective-value appear in an action rule.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *open*

The hash-stack structure containing the stack of open nodes as a vector, and hash table of idb -> node.

Package

wouldwork.

Source

ww-searcher.lisp.

Special Variable: *parameter-headers*

The different ways values can be combined in a pre-parameter list.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *print-updates*

Print each database update while T

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *prior-time*

Time since last progress printing (shared).

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *prior-total-states-processed*

Count of states produced since last progress printing (shared).

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *probe*

Inserts a probe to stop processing at a specific state.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *problem-name*

Name of the current problem, reassigned in problem.lisp by user.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *problem-type*

Spedify whether it’s a planning problem or constraint satisfaction problem.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *program-cycles*

Count of complete cycles of searching (shared).

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *progress-reporting-interval*

Print progress during search after each multiple n of states examined.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *proposition-read-mode*

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

Package

wouldwork.

Source

ww-translator.lisp.

Special Variable: *query-names*

List of all user-defined query functions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *randomize-search*

Set to t or nil.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *relations*

Dynamic relations.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *rem-init-successors*

Holds the remaining initial branch nodes from the start state.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *repeated-states*

Count of the repeated states during a graph search.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *search-tree*

DFS search tree for debugging (serial processing only).

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *shutdown-requested*

Variable used to signal threads shutdown, if *threads* > 0

Package

wouldwork.

Source

ww-searcher.lisp.

Special Variable: *solution-count*

Holds the total number of solutions found following search.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *solution-type*

Specify whether to search for first, min-length, min-time, or every solution.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *solutions*

Holds the solutions found during search.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *start-state*

Start search from this state.

Package

wouldwork.

Source

ww-structures.lisp.

Special Variable: *start-time*

Stores time at beginning of the search.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *state-codes*

Holding place for integer state codes in bi-directional search.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *static-db*

Initial database of static propositions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *static-idb*

Initial integer database of static propositions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *static-relations*

Static relations.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *symmetrics*

Symmetric relations.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *test-problem-files*
Package

wouldwork.

Source

ww-problem-tests.lisp.

Special Variable: *threads*

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

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *total-states-processed*

Count of states either newly generated, updated, or regenerated while searching (shared).

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *tree-or-graph*

Whether there are repeated states (graph) or not (tree); try both.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *troubleshoot-current-node*

A flag telling wouldwork to redo the current node for debugging.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *types*

Table of all types.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *unique-solutions*
Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *update-names*

List of all user-defined update functions.

Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *upper*
Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *upper-bound*
Package

wouldwork.

Source

ww-settings.lisp.

Special Variable: *within-quantifier*

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.

Package

wouldwork.

Source

ww-translator.lisp.

Special Variable: *ww-loading*

Flag to indicate if Wouldwork is currently being loaded. Reset in ww-initialize.lisp

Package

wouldwork.

Source

ww-preliminaries.lisp.


6.2.2 Macros

Macro: define-action (name duration pre-params precondition eff-params effect)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-complementary-relations (&rest positives->negatives)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-constraint (form)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-dynamic-relations (&rest relations)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-global (var-name val-form &optional doc-string)

Convenience for defining globals in ww-setting.lisp for single- or multi-threading operation.

Package

wouldwork.

Source

ww-preliminaries.lisp.

Macro: define-goal (form)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-happening (object &rest plist)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-init (&rest literals)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-init-action (name duration pre-params precondition eff-params effect)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-invariant (name args body)

Define an invariant condition that must always be true. Registers the invariant for global checking during planning.

Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-query (name args body)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-static-relations (&rest relations)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-types (&rest types&values)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: define-update (name args body)
Package

wouldwork.

Source

ww-installer.lisp.

Macro: equivalent (&rest forms)

Returns true if all forms evaluate to nil, or if all forms evaluate to non-nil.

Package

wouldwork.

Source

ww-support.lisp.

Macro: if-it (form then &optional else)

Binds the variable ’it’ to the result of evaluating the form, which can then be used subsequently in the then or else clauses.

Package

utilities.

Source

ww-utilities.lisp.

Macro: increment-global (var-name &optional delta-form)
Package

wouldwork.

Source

ww-preliminaries.lisp.

Macro: lprt (&rest vars)

Print some variable values in a thread for debugging.

Package

wouldwork.

Source

ww-searcher.lisp.

Macro: mvb (vars values-form &rest body)

Abbreviation for multiple-value-bind.

Package

utilities.

Source

ww-utilities.lisp.

Macro: mvs (vars values-form &rest body)

Abbreviation for multiple-value-setq.

Package

utilities.

Source

ww-utilities.lisp.

Macro: mvsetq (var-list form)
Package

wouldwork.

Source

ww-support.lisp.

Macro: pop-global (var-name)
Package

wouldwork.

Source

ww-preliminaries.lisp.

Macro: prt (&rest forms)

Print the names & values of given forms (ie,variables or accessors). Can wrap around an expression, returning its value.

Package

utilities.

Source

ww-utilities.lisp.

Macro: push-global (item var-name)
Package

wouldwork.

Source

ww-preliminaries.lisp.

Macro: sortf (place function &rest sort-key)

Modifies a referenced sequence by sorting it.

Package

utilities.

Source

ww-utilities.lisp.

Macro: stage (problem-name)

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.

Package

wouldwork.

Source

ww-interface.lisp.

Macro: when-debug>= (n &rest expressions)

Inserts debugging expressions when *debug* >= n, otherwise NIL

Package

wouldwork.

Source

ww-support.lisp.

Macro: with-search-structures-lock (&body body)

Protects composite operations on *open* and *closed* search structures. Threading mode determined at compile time for optimal performance.

Package

wouldwork.

Source

ww-searcher.lisp.

Macro: with-silenced-compilation (&body body)

Macro to suppress normal compilation output while preserving error reporting.

Package

wouldwork.

Source

ww-preliminaries.lisp.

Macro: ww-set (param val)

Allows resetting of user parameters during and after loading.

Package

wouldwork.

Source

ww-set.lisp.


6.2.3 Ordinary functions

Function: $var-or-$var-list-p (item)
Package

wouldwork.

Source

ww-validator.lisp.

Function: $varp (item)
Package

wouldwork.

Source

ww-validator.lisp.

Function: %main (argv)

Parse CLI args.

Package

wouldwork.

Source

ww-interface.lisp.

Function: %run (problem-name-str)

Stages and solves a user specified problem.

Package

wouldwork.

Source

ww-interface.lisp.

Function: %stage (problem-name-str)

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.

Package

wouldwork.

Source

ww-interface.lisp.

Function: ?var-or-?var-list-p (item)
Package

wouldwork.

Source

ww-validator.lisp.

Function: ?varp (item)
Package

wouldwork.

Source

ww-validator.lisp.

Function: action-p (object)
Package

wouldwork.

Source

ww-structures.lisp.

Reader: action.duration (instance)
Writer: (setf action.duration) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

duration.

Reader: action.dynamic (instance)
Writer: (setf action.dynamic) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

dynamic.

Reader: action.eff-defun-name (instance)
Writer: (setf action.eff-defun-name) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

eff-defun-name.

Reader: action.effect-adds (instance)
Writer: (setf action.effect-adds) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

effect-adds.

Reader: action.effect-lambda (instance)
Writer: (setf action.effect-lambda) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

effect-lambda.

Reader: action.effect-variables (instance)
Writer: (setf action.effect-variables) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

effect-variables.

Reader: action.ieffect-lambda (instance)
Writer: (setf action.ieffect-lambda) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

ieffect-lambda.

Reader: action.init (instance)
Writer: (setf action.init) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

init.

Reader: action.iprecondition-lambda (instance)
Writer: (setf action.iprecondition-lambda) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

iprecondition-lambda.

Reader: action.name (instance)
Writer: (setf action.name) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

name.

Reader: action.pre-defun-name (instance)
Writer: (setf action.pre-defun-name) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

pre-defun-name.

Reader: action.precondition-args (instance)
Writer: (setf action.precondition-args) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

precondition-args.

Reader: action.precondition-lambda (instance)
Writer: (setf action.precondition-lambda) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

precondition-lambda.

Reader: action.precondition-params (instance)
Writer: (setf action.precondition-params) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

precondition-params.

Reader: action.precondition-type-inst (instance)
Writer: (setf action.precondition-type-inst) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

precondition-type-inst.

Reader: action.precondition-types (instance)
Writer: (setf action.precondition-types) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

precondition-types.

Reader: action.precondition-variables (instance)
Writer: (setf action.precondition-variables) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

precondition-variables.

Function: add-dir (root dir)

Add to absolute path an additional directory

Package

wouldwork.

Source

ww-interface.lisp.

Function: add-file (root file)

Add to absolute path a filename

Package

wouldwork.

Source

ww-interface.lisp.

Function: add-prop (proposition db)

Effectively adds an atomic proposition to the database.

Package

wouldwork.

Source

ww-support.lisp.

Function: add-proposition (proposition db)

Adds an atomic proposition and all its symmetries to the database.

Package

wouldwork.

Source

ww-support.lisp.

Function: amend-happenings (state act-state)

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.

Package

wouldwork.

Source

ww-happenings.lisp.

Function: associate-objects-with-integers ()

Build list of all object constants requiring conversion.

Package

wouldwork.

Source

ww-converter.lisp.

Function: at-max-depth (succ-depth)

Determines if installing a nongoal successor to the current node will be pointless, based on it being at the max allowable depth.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: backward-path-exists (state)

Use in forward search goal to check existence of backward path.

Package

wouldwork.

Source

ww-support.lisp.

Function: best-states-last (state1 state2)

Used to sort a list of expanded states according to the user-defined heuristic.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: better-than-closed (closed-values succ-state succ-depth)

Determines if f-value of successor is better than closed state.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: bounding-function (current-node)

Applies the bounding function, if there is one.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: check-action (action-name &key add)

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.

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-effect-parameters (eff-parameter-list)

Checks a user action effect.

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-form-body (form)

Detects an error in a ww translated form expression.

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-happening (happening-object property-list)
Package

wouldwork.

Source

ww-installer.lisp.

Function: check-precondition-parameters (pre-parameter-list)

Checks a user precondition action or logical parameter list.

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-predicate (proposition)

Detects an error in the use of an unknown predicate.

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-problem-parameter (param val)
Package

wouldwork.

Source

ww-validator.lisp.

Function: check-proposition (proposition)

Detects an error in a proposition–eg, (height block1 3) or (loc ?queen $row (1+ $col)).

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-query/update-call (fn-call)

Checks the validity of a call to a query or update function during translation–eg, (cleartop? ?block)

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-query/update-function (fn-name args body)

Detects an error in the supplied arguments to a user-defined query or update function–eg, (?queen $row $col).

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-relation (relation)

Checks for errors in a user-defined relation–eg, (height ?obj $fixnum).

Package

wouldwork.

Source

ww-validator.lisp.

Function: check-variable-names (action-name pre-param-?vars precondition effect all-detected-vars)

Checks the validity (eg, spelling) of vars in an action rule.

Package

wouldwork.

Source

ww-validator.lisp.

Function: choose-ht-value-test (relations)

Chooses either #’equal or #’equalp as a test for *closed* ht (idb) keys.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: cl-symbol-p (item)

Return true if item is from the common-lisp package.

Package

wouldwork.

Source

ww-translator.lisp.

Function: cleanup-resources ()

Attempt to shutdown dangling threads safely in SBCL.

Package

wouldwork.

Source

ww-preliminaries.lisp.

Function: clear-hstack (hstk)
Package

hstack.

Source

ww-hstack.lisp.

Function: collect-at-indexes (idxs lst)

Collect items at given indexes from a list.

Package

utilities.

Source

ww-utilities.lisp.

Function: command-test-1 ()

Verify default blocks3 runs properly if no prior problem.lisp or vals.lisp

Package

wouldwork.

Source

ww-command-tests.lisp.

Function: command-test-2 ()

Verify problem properly switches to new problem

Package

wouldwork.

Source

ww-command-tests.lisp.

Function: command-test-3 ()

Verify proper notification if requested problem file does not exist

Package

wouldwork.

Source

ww-command-tests.lisp.

Function: command-test-4 ()

Verify basic ww-set for *depth-cutoff* *tree-or-graph* *solution-type* *progress-reporting-interval* *randomize-search* *branch* *probe* *debug*

Package

wouldwork.

Source

ww-command-tests.lisp.

Function: compute-average-branching-factor ()

Average branching on each cycle.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: constraint-violated-in-act-hap-net (act-state hap-state net-state)

Determines whether the input states violate a constraint or not.

Package

wouldwork.

Source

ww-happenings.lisp.

Function: convert-prop-list (prop-list)

Converts a statement form in an action–eg, (list ’loc ?jammer ?area) with no $vars to an integer key form for efficient db access.

Package

wouldwork.

Source

ww-converter.lisp.

Function: convert-to-fluent-proposition (key vals)

Converts an idb partial prop -> index values into literal prop.

Package

wouldwork.

Source

ww-structures.lisp.

Function: convert-to-integer (proposition)
Package

wouldwork.

Source

ww-converter.lisp.

Function: convert-to-proposition (integer)

Converts an integer code back to a proposition.

Package

wouldwork.

Source

ww-structures.lisp.

Function: copy-action (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Function: copy-file-content (source-file target-file)

Replace the content of target-file by the content of source-file.

Package

wouldwork.

Source

ww-interface.lisp.

Function: copy-hstack (instance)
Package

hstack.

Source

ww-hstack.lisp.

Function: copy-ht-set (set-ht)

Copy a set hash table (with t values).

Package

wouldwork.

Source

ww-support.lisp.

Function: copy-idb (idb)

Copies a Wouldwork database.

Package

wouldwork.

Source

ww-structures.lisp.

Function: copy-node (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Function: copy-problem-state (state)
Package

wouldwork.

Source

ww-structures.lisp.

Function: copy-solution (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Function: copy-update (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Function: correct-wildcard (path)

Eliminate unwanted wildcard escape in path strings.

Package

wouldwork.

Source

ww-interface.lisp.

Function: create-action (name duration pre-params precondition eff-params effect init-action)
Package

wouldwork.

Source

ww-installer.lisp.

Function: create-action-state (action state updated-db)

Creates a new wait or non-wait state.

Package

wouldwork.

Source

ww-planner.lisp.

Function: database (state)

Prints the current database for state.
Use as (ut::prt (database state)) as diagnostic in rules & functions.

Package

wouldwork.

Source

ww-structures.lisp.

Function: del-prop (proposition db)

Effectively removes an atomic proposition from the database.

Package

wouldwork.

Source

ww-support.lisp.

Function: delete-actions (&rest names)

Deletes named actions from *actions* at run-time.

Package

wouldwork.

Source

ww-support.lisp.

Function: delete-proposition (proposition db)
Package

wouldwork.

Source

ww-support.lisp.

Function: deletef-nth-hstack (n hstk)

Deletes the nth entry in a hash stack and returns it.

Package

hstack.

Source

ww-hstack.lisp.

Function: detect-output (lambda-expr)

If a function prints to *standard-output*, then capture the output, otherwise return nil. Returns a fresh simple string to ensure consistent behavior.

Package

wouldwork.

Source

ww-command-tests.lisp.

Function: df-bnb1 (open)

Performs expansion of one node from open. Returns
new successor nodes, (first), or nil if no new nodes generated.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: dfs ()

Main search program.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: different (sym1 sym2)

Determines whether two symbols are different.

Package

wouldwork.

Source

ww-support.lisp.

Function: directory-exists-p (directory)

Returns pathname if the directory exists and is a directory. Currently only works with SBCL - but not CLISP!

Package

wouldwork.

Source

ww-interface.lisp.

Function: display-all ()
Package

wouldwork.

Source

ww-initialize.lisp.

Function: display-current-parameters ()
Package

wouldwork.

Source

ww-initialize.lisp.

Function: dissect-eff-params (eff-parameter-list)

Returns a list of primitive eff-parameter variables and types.

Package

wouldwork.

Source

ww-support.lisp.

Function: dissect-pre-params (pre-param-list)
Package

wouldwork.

Source

ww-support.lisp.

Function: do-init-action-updates (state)

Checks precondition of each init-action,
and if true, then updates db and static-db according to each init-action effect.

Package

wouldwork.

Source

ww-planner.lisp.

Function: do-integer-conversion ()

Convert all objects to integers & put in idatabases.

Package

wouldwork.

Source

ww-converter.lisp.

Function: either (&rest types)
Package

wouldwork.

Source

ww-installer.lisp.

Function: empty-hstack (hstk)

Determine if a hash stack is empty.

Package

hstack.

Source

ww-hstack.lisp.

Function: eql* (&rest arguments)
Package

wouldwork.

Source

ww-support.lisp.

Function: estimate-to-goal (state)

Heuristic (h) for estimating distance to a goal state from this state; Return 0 to use no heuristic.

Package

wouldwork.

Source

ww-planner.lisp.

Function: eval-instantiated-spec (instantiated-pre-type-spec &optional state-or-state+)

Receives possibly nested static or dynamic input from instantiate-type-spec, and evaluates it. Works with state, idb, or context-aware parameter.

Package

wouldwork.

Source

ww-support.lisp.

Function: exchange-problem-file (problem-name-str)

Copies problem file to src/problem.lisp

Package

wouldwork.

Source

ww-interface.lisp.

Function: expand (current-node)

Returns the new states.

Package

wouldwork.

Source

ww-planner.lisp.

Function: expand-into-plist (parameters)

Return alternating plist of variable/type from input parameter list.

Package

wouldwork.

Source

ww-support.lisp.

Function: extract-symbols (x.y)

Splits a symbol, whose print name contains the delimiter #., into two symbols.

Package

utilities.

Source

ww-utilities.lisp.

Function: f-value-better (succ-state succ-depth)

Computes f-value of current-node to see if it’s better than best solution so far.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: final-charp (final-char sym)

Determines if a symbol has a given final character in its name.

Package

wouldwork.

Source

ww-installer.lisp.

Function: finalize-path-depth (depth)

Records the path depth of a path that terminates.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: fix-if-ignore (symbols lambda-expr)

Ignores variable symbols that are not in the lambda-body.

Package

wouldwork.

Source

ww-installer.lisp.

Function: fixed-keys-ht-equal (ht-key1 ht-key2)

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.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: fixed-keys-ht-hash (ht)
Package

wouldwork.

Source

ww-searcher.lisp.

Function: fixedp (relations)

Determines if all relations have $var args, and thus have fixed keys idb.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: forced-read-mode-p ()

Returns t if read mode has been explicitly forced via *proposition-read-mode*.

Package

wouldwork.

Source

ww-translator.lisp.

Function: forget (sym)

Removes a symbol from the current package.

Package

utilities.

Source

ww-utilities.lisp.

Function: freq (&rest run-lengths)

Return the alist of sequences with their respective counts, max first.

Package

wouldwork.

Source

ww-frequencies.lisp.

Function: generate-children (current-node)

Returns the legitimate children of a state. Checks precondition of each action, and if true, then updates db according to action effects.

Package

wouldwork.

Source

ww-planner.lisp.

Function: generate-fluent-bindings (prop-fluents)

Generates setf forms for binding fluent variables to retrieved values. Optimizes accessor patterns for common cases while handling arbitrary arity.

Package

wouldwork.

Source

ww-translator.lisp.

Function: generate-fluent-instances (args-list)

Generate all combinations of instances for a relation signature, where nil values represent fluent positions.

Package

wouldwork.

Source

ww-installer.lisp.

Function: generate-new-node (current-node succ-state)

Produces a new node for a given successor.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: generate-new-propositions (vars propositions idxs)

Collects new propositions for each prop in propositions.

Package

wouldwork.

Source

ww-support.lisp.

Function: generate-proposition-permutations (vars proposition idxs)

Returns list of propositions generated from given proposition replacing items at indices with vars, respectively.

Package

wouldwork.

Source

ww-support.lisp.

Function: get-all-nonspecial-vars (fn tree)

Selects one each of non-special variables in the tree satisfying fn.

Package

wouldwork.

Source

ww-installer.lisp.

Function: get-all-vars (fn tree)

Selects one each of all variables in the tree satisfying fn.

Package

wouldwork.

Source

ww-installer.lisp.

Function: get-bound-?vars (tree)

Retrieves the bound ?vars from a code tree.

Package

wouldwork.

Source

ww-installer.lisp.

Function: get-closed-values (idb)

Returns the closed values (depth time value) for the given idb, or nil if not found.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: get-complement-prop (proposition)

Derives the complement proposition counterpart from a given proposition.

Package

wouldwork.

Source

ww-support.lisp.

Function: get-database-reference (form flag)

Determines appropriate database reference for proposition evaluation.
Handles static relations, dynamic relations, and happening contexts consistently.

Package

wouldwork.

Source

ww-translator.lisp.

Function: get-fluentless-prop (proposition)

Derives the fluentless proposition counterpart from a full proposition.

Package

wouldwork.

Source

ww-support.lisp.

Function: get-following-happening (act-state object index time direction ref-time)

Derive the following happening update for an object.

Package

wouldwork.

Source

ww-happenings.lisp.

Function: get-function-state-parameter (function-name flag)

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.

Package

wouldwork.

Source

ww-translator.lisp.

Function: get-new-states (state action updated-dbs)

Creates new states given current state and the new updates.

Package

wouldwork.

Source

ww-planner.lisp.

Function: get-next-event-time (state)

Returns the time of the next happening event, considering all objects.

Package

wouldwork.

Source

ww-planner.lisp.

Function: get-next-node-for-expansion (open)

Returns the node at the top of open.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: get-package-root (system-name)

Return the root directory of the ASDF system associated with the given package name.

Package

wouldwork.

Source

ww-interface.lisp.

Function: get-pre-lambda-arg-lists (instantiated-spec)

Returns list of instantiations as arg list for a rule precondition.

Package

wouldwork.

Source

ww-support.lisp.

Function: get-prop-fluent-indices (proposition)
Package

wouldwork.

Source

ww-structures.lisp.

Function: get-prop-fluents (proposition)

Returns the fluent values in an arbitrary proposition.

Package

wouldwork.

Source

ww-translator.lisp.

Function: get-special-vars (tree)

Collects any special declared variables from tree.

Package

wouldwork.

Source

ww-installer.lisp.

Function: get-state-codes ()

User calls this after finding backwards *solutions*.

Package

wouldwork.

Source

ww-support.lisp.

Function: get-state-reference (flag)

Centralized state reference determination

Package

wouldwork.

Source

ww-translator.lisp.

Function: get-wait-happenings (state)
Package

wouldwork.

Source

ww-planner.lisp.

Function: goal (state)

Returns t or nil depending on if state is a goal state.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: handle-thread-error (condition)

Handle errors in threads by signaling shutdown and printing error information.

Package

wouldwork.

Source

ww-parallel.lisp.

Function: hash-table-present-p (key ht)

Determines if a key is present in ht.

Package

utilities.

Source

ww-utilities.lisp.

Function: hash-table-same-keys-p (ht1 ht2)

Returns t if two hash tables have the same keys.

Package

utilities.

Source

ww-utilities.lisp.

Function: header-p (item)
Package

wouldwork.

Source

ww-validator.lisp.

Function: hstack-p (object)
Package

hstack.

Source

ww-hstack.lisp.

Reader: hstack.keyfn (instance)
Writer: (setf hstack.keyfn) (instance)
Package

hstack.

Source

ww-hstack.lisp.

Target Slot

keyfn.

Reader: hstack.table (instance)
Writer: (setf hstack.table) (instance)
Package

hstack.

Source

ww-hstack.lisp.

Target Slot

table.

Reader: hstack.vector (instance)
Writer: (setf hstack.vector) (instance)
Package

hstack.

Source

ww-hstack.lisp.

Target Slot

vector.

Function: idb-in-open (succ-idb open)

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.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: idb-to-sorted-alist (idb-hash-table)

Converts an IDB hash table to a sorted alist using Alexandria.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: in-src (filename)

Shortcut to add filename to current package directory’s src folder

Package

wouldwork.

Source

ww-interface.lisp.

Function: init ()
Package

wouldwork.

Source

ww-initialize.lisp.

Function: init-start-state ()
Package

wouldwork.

Source

ww-initialize.lisp.

Function: initialize-act-state (action state updated-db)

Returns a new child of state incorporating action updated-db list, or nil if repeating previous wait action.

Package

wouldwork.

Source

ww-planner.lisp.

Function: install-action (name duration pre-params precondition eff-params effect)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-complementary-relations (positives->negatives)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-constraint (form)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-dynamic-relations (relations)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-goal (form)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-happening (object plist)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-init (literals)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-init-action (name duration pre-params precondition eff-params effect)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-query (name args body)

Revised query function installation with consistent state parameter handling

Package

wouldwork.

Source

ww-installer.lisp.

Function: install-static-relations (relations)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-types (types&instances)
Package

wouldwork.

Source

ww-installer.lisp.

Function: install-update (name args body)

Revised update function installation with explicit effect context

Package

wouldwork.

Source

ww-installer.lisp.

Function: instantiate-type-spec (pre-type-spec)

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))).

Package

wouldwork.

Source

ww-support.lisp.

Function: interleave+ (lst)

Inserts a + sign between list items.

Package

utilities.

Source

ww-utilities.lisp.

Function: intern-symbol (&rest args)

Interns a symbol created by concatenating args. Based on symb in Let Over Lambda.

Package

utilities.

Source

ww-utilities.lisp.

Function: interrupt-condition (object act-state)

Determines if the interrupt function for object is satisfied in this state; eg, if the object is currently being jammed, and therefore disabled.

Package

wouldwork.

Source

ww-happenings.lisp.

Function: intersperse (element lst)

Returns a list with element inserted at odd indexed locations.

Package

utilities.

Source

ww-utilities.lisp.

Function: length-hstack (hstk)
Package

hstack.

Source

ww-hstack.lisp.

Function: list-database (idb)

Used to printout idb in propositional form.

Package

wouldwork.

Source

ww-structures.lisp.

Function: list-problem-files-plist (&optional prefix suffix)

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.

Package

wouldwork.

Source

ww-interface.lisp.

Function: list-problem-names ()
Package

wouldwork.

Source

ww-interface.lisp.

Function: load-problem (problem-name-str)

Given a problem-name, replace the content of the problem.lisp file by
the content of the correponsing problem file, and then reloads everything.

Package

wouldwork.

Source

ww-interface.lisp.

Function: lookup (key plist &key test default)

Key value lookup in plist with #’string= or any other function as test. The plist-related getf can only handle eql.

Package

wouldwork.

Source

ww-interface.lisp.

Function: lstrip (str prefix)

Removes prefix from str (only 1x).

Package

wouldwork.

Source

ww-interface.lisp.

Function: make-action (&key name pre-defun-name eff-defun-name duration precondition-params precondition-variables precondition-types precondition-type-inst dynamic precondition-args init precondition-lambda iprecondition-lambda effect-variables effect-adds effect-lambda ieffect-lambda)
Package

wouldwork.

Source

ww-structures.lisp.

Function: make-hstack (&key vector table keyfn)
Package

hstack.

Source

ww-hstack.lisp.

Function: make-ht-set (&rest args &key initial-contents &allow-other-keys)

Makes a wouldwork hash-table that works as a set container for the user.

Package

wouldwork.

Source

ww-support.lisp.

Function: make-node (&key state depth parent)
Package

wouldwork.

Source

ww-structures.lisp.

Function: make-problem-state (&key name instantiations happenings time value heuristic idb hidb)
Package

wouldwork.

Source

ww-structures.lisp.

Function: make-solution (&key depth time value path goal)
Package

wouldwork.

Source

ww-structures.lisp.

Function: make-update (&key changes value instantiations followups)
Package

wouldwork.

Source

ww-structures.lisp.

Function: map-into-tree-atoms (fn tree)

Returns a new tree with all atoms replaced by the value of fn.

Package

utilities.

Source

ww-utilities.lisp.

Function: merge-idb-hidb (state)

Merges the two databases of state.

Package

wouldwork.

Source

ww-translator.lisp.

Function: merge-sort (item items predicate)

Adds an item to list of items sorted.

Package

utilities.

Source

ww-utilities.lisp.

Function: narrate (string state depth)
Package

wouldwork.

Source

ww-searcher.lisp.

Function: ninsert-list (new-element position lst)

Destructively inserts new element in a list at given position <= length lst

Package

utilities.

Source

ww-utilities.lisp.

Function: node-p (object)
Package

wouldwork.

Source

ww-structures.lisp.

Reader: node.depth (instance)
Writer: (setf node.depth) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

depth.

Reader: node.parent (instance)
Writer: (setf node.parent) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

parent.

Reader: node.state (instance)
Writer: (setf node.state) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

state.

Function: node.state.idb (node)

Gets the idb of a node.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: node.state.idb-alist (node)

Gets the canonical alist representation of a node’s idb for efficient hstack lookup.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: nth-hstack (n hstk)
Package

hstack.

Source

ww-hstack.lisp.

Function: on-current-path (succ-state current-node)

Determines if a successor is already on the current path from the start state.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: params ()
Package

wouldwork.

Source

ww-initialize.lisp.

Function: peek-hstack (hstk)
Package

hstack.

Source

ww-hstack.lisp.

Function: pop-hstack (hstk)

Pops an element from hstack’s vector and removes it from the table. Error if hstk empty.

Package

hstack.

Source

ww-hstack.lisp.

Function: print-ht (ht)

Prints a hash table line by line.

Package

utilities.

Source

ww-utilities.lisp.

Function: print-problem-state (state &optional stream depth)
Package

wouldwork.

Source

ww-structures.lisp.

Function: print-search-progress (open)
Package

wouldwork.

Source

ww-searcher.lisp.

Function: print-search-tree ()
Package

wouldwork.

Source

ww-searcher.lisp.

Function: printout-search-progress (open)

Printout of nodes expanded so far during search modulo reporting interval.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: printout-solution (soln)
Package

wouldwork.

Source

ww-searcher.lisp.

Function: probe (current-node name instantiations depth &optional count)

Breaks when the current node matches action name, instantiations, depth, and count from start–eg, (put (a b) 1).

Package

wouldwork.

Source

ww-searcher.lisp.

Function: problem-state-p (object)
Package

wouldwork.

Source

ww-structures.lisp.

Reader: problem-state.happenings (instance)
Writer: (setf problem-state.happenings) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

happenings.

Reader: problem-state.heuristic (instance)
Writer: (setf problem-state.heuristic) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

heuristic.

Reader: problem-state.hidb (instance)
Writer: (setf problem-state.hidb) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

hidb.

Reader: problem-state.idb (instance)
Writer: (setf problem-state.idb) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

idb.

Reader: problem-state.instantiations (instance)
Writer: (setf problem-state.instantiations) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

instantiations.

Reader: problem-state.name (instance)
Writer: (setf problem-state.name) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

name.

Reader: problem-state.time (instance)
Writer: (setf problem-state.time) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

time.

Reader: problem-state.value (instance)
Writer: (setf problem-state.value) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

value.

Function: probs ()
Package

wouldwork.

Alias for

list-problem-names.

Function: process-followups (net-state updated-db)

Triggering forms are saved previously during effect apply.

Package

wouldwork.

Source

ww-planner.lisp.

Function: process-min-max-value (succ-state)

Determines if succ-state value is an improvement, and if so updates *best-states*.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: process-solution (solution run-length)

Installs sequences of run-length in a solution into a hash table.

Package

wouldwork.

Source

ww-frequencies.lisp.

Function: process-successors (succ-states current-node open)
Package

wouldwork.

Source

ww-searcher.lisp.

Function: process-threads ()

The main consumer of parallel thread processing with controlled shutdown.

Package

wouldwork.

Source

ww-parallel.lisp.

Function: profile ()

Deterministically profiles Wouldwork.

Package

wouldwork.

Source

ww-support.lisp.

Function: push-hstack (elt hstk &key new-only)

Pushes an element onto hstack’s vector and table. Returns the hstack and whether the element was added.

Package

hstack.

Source

ww-hstack.lisp.

Function: read-from-file (filename &optional default)
Package

wouldwork.

Source

ww-interface.lisp.

Function: read-hash-table-from-file (filename)
Package

wouldwork.

Source

ww-problem-tests.lisp.

Function: rebound-condition (object new-state)

Determines if a rebound condition is satisfied in this state.

Package

wouldwork.

Source

ww-happenings.lisp.

Function: record-move (state)

Returns some user-friendly representation of the move from the parent state to the current state.

Package

wouldwork.

Source

ww-planner.lisp.

Function: record-solution-path (goal-node)

Recovers a path from a goal node back to the start node following parent links.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: register-solution (current-node goal-state)

Inserts a new solution on the list of *solutions*.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: remove-at-indexes (idxs lst)

Removes items at given indexes from a list.

Package

utilities.

Source

ww-utilities.lisp.

Function: reset-parameters ()

Resets global parameters to defaults

Package

wouldwork.

Source

ww-interface.lisp.

Function: reset-user-syms (symbols)
Package

wouldwork.

Source

ww-preliminaries.lisp.

Function: retrieve (file)

Retrieves one or more objects from a file.

Package

utilities.

Source

ww-utilities.lisp.

Function: revise (db literals)

Updates a database given a simple list of atomic propositions.

Package

wouldwork.

Source

ww-support.lisp.

Function: rstrip (str suffix)

Removes suffix from str (only 1x).

Package

wouldwork.

Source

ww-interface.lisp.

Function: run-test ()
Package

wouldwork.

Alias for

run-test-problems.

Function: save (object file)

Saves an object to a file so it can be read in later.

Package

utilities.

Source

ww-utilities.lisp.

Function: save-to-file (list filename)
Package

wouldwork.

Source

ww-interface.lisp.

Function: search-parallel (problems first)

Branch & Bound DFS parallel search in each thread with shutdown check.

Package

wouldwork.

Source

ww-parallel.lisp.

Function: search-serial ()

Branch & Bound DFS serial search.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: set-difference-ht-set (ht1 ht2)

Returns a new hash table that represents the set difference of HT1 and HT2.

Package

wouldwork.

Source

ww-support.lisp.

Function: simple-break ()

Call to simplify debugger printout on a break.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: size-hstack (hstk)
Package

hstack.

Source

ww-hstack.lisp.

Function: solution-p (object)
Package

wouldwork.

Source

ww-structures.lisp.

Reader: solution.depth (instance)
Writer: (setf solution.depth) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

depth.

Reader: solution.goal (instance)
Writer: (setf solution.goal) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

goal.

Reader: solution.path (instance)
Writer: (setf solution.path) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

path.

Reader: solution.time (instance)
Writer: (setf solution.time) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

time.

Reader: solution.value (instance)
Writer: (setf solution.value) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

value.

Function: solve ()
Package

wouldwork.

Source

ww-interface.lisp.

Function: sort-either-types (relation)

Alphabetically sorts the ’either’ types in a relation.

Package

wouldwork.

Source

ww-installer.lisp.

Function: sort-symbols (list-of-symbols)

Sorts a list of symbols alphabetically.

Package

utilities.

Source

ww-utilities.lisp.

Function: split-off (open)

Removes the bottom node on open and returns a new split-off subopen with it.

Package

wouldwork.

Source

ww-parallel.lisp.

Function: string-prefix-p (prefix str)

Return T if PREFIX is a prefix of STR, otherwise NIL.

Package

wouldwork.

Source

ww-interface.lisp.

Function: string-suffix-p (suffix str)

Return T if SUFFIX is a suffix of STR, otherwise NIL.

Package

wouldwork.

Source

ww-interface.lisp.

Function: strip-name (str prefix suffix)

Removes prefix and suffix from str.

Package

wouldwork.

Source

ww-interface.lisp.

Function: subspec-p (item)
Package

wouldwork.

Source

ww-validator.lisp.

Function: subst-int-code (code-tree)
Package

wouldwork.

Source

ww-converter.lisp.

Function: subst-items-at-ascending-indexes (items idxs lst)

Substitutes for elements at given indexes in a list. Indexes & items must correspond and be in ascending order.

Package

utilities.

Source

ww-utilities.lisp.

Function: summarize-search-results (condition)
Package

wouldwork.

Source

ww-searcher.lisp.

Function: symmetric-type-indexes (types)

Returns the set of type indexes for the multi-types of a symmetric relation.

Package

wouldwork.

Source

ww-installer.lisp.

Function: test ()
Package

wouldwork.

Alias for

run-test-problems.

Function: test-commands ()

Run a series of tests to exercise potential user REPL commands.

Package

wouldwork.

Source

ww-command-tests.lisp.

Function: translate (form flag)

Beginning translator for all forms in actions.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-assert (form flag)

Translates an assert statement with selective write-mode context.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-bind (form flag)

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

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-case (form flag)

Translates a case statement.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-conditional (form flag)

Conditional translation with proper read-mode isolation.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-connective (form flag)

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

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-do (form flag)

Translates a simple set of clauses.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-doall (form flag)

DOALL translation with translation-time quantifier context.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-equivalent (form flag)

Translates equivalence by forcing read operations on all operands

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-existential (form flag)

Existential translation with translation-time quantifier context.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-fluent-atom (form flag)

Translates propositions with fluents using standardized database reference.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-followup (form flag)
Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-function-call (form flag)

Revised function call translation using unified state reference strategy

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-let (form flag)

Translates a let clause, including binding forms.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-list (form flag)

Most basic form translation.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-mvsetq (form flag)

Translates a multiple-value-setq clause.
Always returns t to maintain logical continuation semantics.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-negative-relation (form flag)

Unified negative relation translation maintaining read/write context consistency. Preserves negation semantics across both query and update operations.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-positive-relation (form flag)

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.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-print (form flag)

Translates a print statement for debugging actions.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-proposition (form flag)

Distinguishes fluent from non-fluent propositions.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-setq (form flag)

Translates a setq statement. Used to assign a variable the value of a function. Always returns t, even if nil is assigned.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-simple-atom (form flag)

Example usage of get-state-reference with proper database selection logic.
Eg, (velocity ?car wheel1 50) -> (list ’velocity ?car ’wheel1 50) with no fluents.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-universal (form flag)

Universal translation with translation-time quantifier context.

Package

wouldwork.

Source

ww-translator.lisp.

Function: translate-ww-loop (form flag)

WW-loop translation with translation-time context override.

Package

wouldwork.

Source

ww-translator.lisp.

Function: transpose (list-of-equi-length-lists)

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))

Package

utilities.

Source

ww-utilities.lisp.

Function: trim-1st-char (sym)

Trims the first character from a symbol–eg, $block -> block.

Package

wouldwork.

Source

ww-validator.lisp.

Function: troubleshoot (error-msg &rest args)
Package

wouldwork.

Source

ww-support.lisp.

Function: type-or-query-or-either-p (item)
Package

wouldwork.

Source

ww-validator.lisp.

Function: union-ht-set (&rest set-hts)

Unions two hash tables keys. Assumes values are all t and have the same :test function.

Package

wouldwork.

Source

ww-support.lisp.

Function: update (db literal)

Single add or delete from db.

Package

wouldwork.

Source

ww-support.lisp.

Function: update-max-depth-explored (succ-depth)
Package

wouldwork.

Source

ww-searcher.lisp.

Function: update-open-if-succ-better (open-node succ-state)

Determines if f-value of successor is better than open state, and updates it.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: update-p (object)
Package

wouldwork.

Source

ww-structures.lisp.

Function: update-search-tree (state depth message)
Package

wouldwork.

Source

ww-searcher.lisp.

Reader: update.changes (instance)
Writer: (setf update.changes) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

changes.

Reader: update.followups (instance)
Writer: (setf update.followups) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

followups.

Reader: update.instantiations (instance)
Writer: (setf update.instantiations) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

instantiations.

Reader: update.value (instance)
Writer: (setf update.value) (instance)
Package

wouldwork.

Source

ww-structures.lisp.

Target Slot

value.

Function: user-or-lisp-type-p (type)

Determines if a symbol is either a user-defined type or a lisp type.

Package

wouldwork.

Source

ww-validator.lisp.

Function: validate-bind-form (form)

Validates bind form structure and proposition format. Ensures proper syntax before translation proceeds.

Package

wouldwork.

Source

ww-translator.lisp.

Function: validate-global-invariants (current-node succ-state)

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.

Package

wouldwork.

Source

ww-searcher.lisp.

Function: varp (sym)
Package

wouldwork.

Source

ww-validator.lisp.

Function: vectorize (lists)

Turns a list of lists into vector vectors.

Package

wouldwork.

Source

ww-support.lisp.

Function: walk-tree (fun tree)

Apply fun to each cons and atom in tree.

Package

utilities.

Source

ww-utilities.lisp.

Function: write-hash-table-to-file (hash-table filename)
Package

wouldwork.

Source

ww-problem-tests.lisp.

Function: write-operation-p (flag)

Returns t if we should perform write operations (database updates).
Write operations occur in effect contexts unless read mode is explicitly forced.

Package

wouldwork.

Source

ww-translator.lisp.

Function: ww-shutdown ()

Initiate a controlled shutdown of all threads.

Package

wouldwork.

Source

ww-parallel.lisp.

Function: ww-solve ()

Runs a branch & bound search on the problem specification.

Package

wouldwork.

Source

ww-searcher.lisp.


6.2.4 Generic functions

Generic Reader: original-error (condition)
Package

wouldwork.

Methods
Reader Method: original-error ((condition thread-error))
Source

ww-parallel.lisp.

Target Slot

original-error.

Generic Function: show (object &rest rest &key sort-by)

Displays an object in a user-friendly format.

Package

utilities.

Source

ww-utilities.lisp.

Methods
Method: show (object &rest rest)

Prints any basic lisp object.

Method: show ((lst list) &rest rest)
Method: show ((fn function) &rest rest)
Method: show ((table hash-table) &key sort-by)

Displays a hash table line-by-line, sorted either by key or val.


6.2.5 Conditions

Condition: thread-error
Package

wouldwork.

Source

ww-parallel.lisp.

Direct superclasses

error.

Direct methods

original-error.

Direct slots
Slot: original-error
Initargs

:original-error

Readers

original-error.

Writers

This slot is read-only.


6.2.6 Structures

Structure: action
Package

wouldwork.

Source

ww-structures.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: name
Type

symbol

Readers

action.name.

Writers

(setf action.name).

Slot: pre-defun-name
Type

symbol

Readers

action.pre-defun-name.

Writers

(setf action.pre-defun-name).

Slot: eff-defun-name
Type

symbol

Readers

action.eff-defun-name.

Writers

(setf action.eff-defun-name).

Slot: duration
Type

real

Initform

0.0

Readers

action.duration.

Writers

(setf action.duration).

Slot: precondition-params
Type

list

Readers

action.precondition-params.

Writers

(setf action.precondition-params).

Slot: precondition-variables
Type

list

Readers

action.precondition-variables.

Writers

(setf action.precondition-variables).

Slot: precondition-types
Type

list

Readers

action.precondition-types.

Writers

(setf action.precondition-types).

Slot: precondition-type-inst
Type

list

Readers

action.precondition-type-inst.

Writers

(setf action.precondition-type-inst).

Slot: dynamic
Type

list

Readers

action.dynamic.

Writers

(setf action.dynamic).

Slot: precondition-args
Type

(or list symbol)

Readers

action.precondition-args.

Writers

(setf action.precondition-args).

Slot: init
Type

(member nil t)

Readers

action.init.

Writers

(setf action.init).

Slot: precondition-lambda
Type

list

Readers

action.precondition-lambda.

Writers

(setf action.precondition-lambda).

Slot: iprecondition-lambda
Type

list

Readers

action.iprecondition-lambda.

Writers

(setf action.iprecondition-lambda).

Slot: effect-variables
Type

list

Readers

action.effect-variables.

Writers

(setf action.effect-variables).

Slot: effect-adds
Type

list

Readers

action.effect-adds.

Writers

(setf action.effect-adds).

Slot: effect-lambda
Type

list

Readers

action.effect-lambda.

Writers

(setf action.effect-lambda).

Slot: ieffect-lambda
Type

list

Readers

action.ieffect-lambda.

Writers

(setf action.ieffect-lambda).

Structure: hstack

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.

Package

hstack.

Source

ww-hstack.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: vector
Package

common-lisp.

Type

(array * (*))

Initform

(make-array 0 :adjustable t :fill-pointer t)

Readers

hstack.vector.

Writers

(setf hstack.vector).

Slot: table
Initform

(make-hash-table)

Readers

hstack.table.

Writers

(setf hstack.table).

Slot: keyfn
Type

function

Initform

(function identity)

Readers

hstack.keyfn.

Writers

(setf hstack.keyfn).

Structure: node
Package

wouldwork.

Source

ww-structures.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: state
Type

wouldwork::problem-state

Initform

(wouldwork::make-problem-state)

Readers

node.state.

Writers

(setf node.state).

Slot: depth
Type

fixnum

Initform

0

Readers

node.depth.

Writers

(setf node.depth).

Slot: parent
Type

(or null wouldwork::node)

Readers

node.parent.

Writers

(setf node.parent).

Structure: problem-state

A planning state including the current propositional database.

Package

wouldwork.

Source

ww-structures.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: name
Type

symbol

Readers

problem-state.name.

Writers

(setf problem-state.name).

Slot: instantiations
Type

list

Readers

problem-state.instantiations.

Writers

(setf problem-state.instantiations).

Slot: happenings
Type

list

Readers

problem-state.happenings.

Writers

(setf problem-state.happenings).

Slot: time
Package

common-lisp.

Type

real

Initform

0.0

Readers

problem-state.time.

Writers

(setf problem-state.time).

Slot: value
Type

real

Initform

0.0

Readers

problem-state.value.

Writers

(setf problem-state.value).

Slot: heuristic
Type

real

Initform

0.0

Readers

problem-state.heuristic.

Writers

(setf problem-state.heuristic).

Slot: idb
Type

hash-table

Initform

(make-hash-table)

Readers

problem-state.idb.

Writers

(setf problem-state.idb).

Slot: hidb
Type

hash-table

Initform

(make-hash-table)

Readers

problem-state.hidb.

Writers

(setf problem-state.hidb).

Structure: solution

The record of a solution.

Package

wouldwork.

Source

ww-structures.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: depth
Type

fixnum

Initform

0

Readers

solution.depth.

Writers

(setf solution.depth).

Slot: time
Package

common-lisp.

Type

real

Initform

0.0

Readers

solution.time.

Writers

(setf solution.time).

Slot: value
Type

real

Initform

0.0

Readers

solution.value.

Writers

(setf solution.value).

Slot: path
Type

list

Readers

solution.path.

Writers

(setf solution.path).

Slot: goal
Type

wouldwork::problem-state

Initform

(wouldwork::make-problem-state)

Readers

solution.goal.

Writers

(setf solution.goal).

Structure: update

Db updates resulting from a successful action instantiation.

Package

wouldwork.

Source

ww-structures.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: changes
Type

hash-table

Readers

update.changes.

Writers

(setf update.changes).

Slot: value
Type

real

Initform

0.0

Readers

update.value.

Writers

(setf update.value).

Slot: instantiations
Type

list

Readers

update.instantiations.

Writers

(setf update.instantiations).

Slot: followups
Type

list

Readers

update.followups.

Writers

(setf update.followups).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   $   %   (   ?  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

$
$var-or-$var-list-p: Private ordinary functions
$varp: Private ordinary functions

%
%main: Private ordinary functions
%run: Private ordinary functions
%stage: Private ordinary functions

(
(setf action.duration): Private ordinary functions
(setf action.dynamic): Private ordinary functions
(setf action.eff-defun-name): Private ordinary functions
(setf action.effect-adds): Private ordinary functions
(setf action.effect-lambda): Private ordinary functions
(setf action.effect-variables): Private ordinary functions
(setf action.ieffect-lambda): Private ordinary functions
(setf action.init): Private ordinary functions
(setf action.iprecondition-lambda): Private ordinary functions
(setf action.name): Private ordinary functions
(setf action.pre-defun-name): Private ordinary functions
(setf action.precondition-args): Private ordinary functions
(setf action.precondition-lambda): Private ordinary functions
(setf action.precondition-params): Private ordinary functions
(setf action.precondition-type-inst): Private ordinary functions
(setf action.precondition-types): Private ordinary functions
(setf action.precondition-variables): Private ordinary functions
(setf hstack.keyfn): Private ordinary functions
(setf hstack.table): Private ordinary functions
(setf hstack.vector): Private ordinary functions
(setf node.depth): Private ordinary functions
(setf node.parent): Private ordinary functions
(setf node.state): Private ordinary functions
(setf problem-state.happenings): Private ordinary functions
(setf problem-state.heuristic): Private ordinary functions
(setf problem-state.hidb): Private ordinary functions
(setf problem-state.idb): Private ordinary functions
(setf problem-state.instantiations): Private ordinary functions
(setf problem-state.name): Private ordinary functions
(setf problem-state.time): Private ordinary functions
(setf problem-state.value): Private ordinary functions
(setf solution.depth): Private ordinary functions
(setf solution.goal): Private ordinary functions
(setf solution.path): Private ordinary functions
(setf solution.time): Private ordinary functions
(setf solution.value): Private ordinary functions
(setf update.changes): Private ordinary functions
(setf update.followups): Private ordinary functions
(setf update.instantiations): Private ordinary functions
(setf update.value): Private ordinary functions

?
?var-or-?var-list-p: Private ordinary functions
?varp: Private ordinary functions

A
action-p: Private ordinary functions
action.duration: Private ordinary functions
action.dynamic: Private ordinary functions
action.eff-defun-name: Private ordinary functions
action.effect-adds: Private ordinary functions
action.effect-lambda: Private ordinary functions
action.effect-variables: Private ordinary functions
action.ieffect-lambda: Private ordinary functions
action.init: Private ordinary functions
action.iprecondition-lambda: Private ordinary functions
action.name: Private ordinary functions
action.pre-defun-name: Private ordinary functions
action.precondition-args: Private ordinary functions
action.precondition-lambda: Private ordinary functions
action.precondition-params: Private ordinary functions
action.precondition-type-inst: Private ordinary functions
action.precondition-types: Private ordinary functions
action.precondition-variables: Private ordinary functions
add-dir: Private ordinary functions
add-file: Private ordinary functions
add-problem-folder: Public ordinary functions
add-prop: Private ordinary functions
add-proposition: Private ordinary functions
amend-happenings: Private ordinary functions
associate-objects-with-integers: Private ordinary functions
at-max-depth: Private ordinary functions

B
backward-path-exists: Private ordinary functions
best-states-last: Private ordinary functions
better-than-closed: Private ordinary functions
bounding-function: Private ordinary functions

C
check-action: Private ordinary functions
check-effect-parameters: Private ordinary functions
check-form-body: Private ordinary functions
check-happening: Private ordinary functions
check-precondition-parameters: Private ordinary functions
check-predicate: Private ordinary functions
check-problem-parameter: Private ordinary functions
check-proposition: Private ordinary functions
check-query/update-call: Private ordinary functions
check-query/update-function: Private ordinary functions
check-relation: Private ordinary functions
check-variable-names: Private ordinary functions
choose-ht-value-test: Private ordinary functions
cl-symbol-p: Private ordinary functions
cleanup-resources: Private ordinary functions
clear-hstack: Private ordinary functions
collect-at-indexes: Private ordinary functions
command-test-1: Private ordinary functions
command-test-2: Private ordinary functions
command-test-3: Private ordinary functions
command-test-4: Private ordinary functions
compute-average-branching-factor: Private ordinary functions
constraint-violated-in-act-hap-net: Private ordinary functions
convert-prop-list: Private ordinary functions
convert-to-fluent-proposition: Private ordinary functions
convert-to-integer: Private ordinary functions
convert-to-proposition: Private ordinary functions
copy-action: Private ordinary functions
copy-file-content: Private ordinary functions
copy-hstack: Private ordinary functions
copy-ht-set: Private ordinary functions
copy-idb: Private ordinary functions
copy-node: Private ordinary functions
copy-problem-state: Private ordinary functions
copy-solution: Private ordinary functions
copy-update: Private ordinary functions
correct-wildcard: Private ordinary functions
create-action: Private ordinary functions
create-action-state: Private ordinary functions

D
database: Private ordinary functions
define-action: Private macros
define-complementary-relations: Private macros
define-constraint: Private macros
define-dynamic-relations: Private macros
define-global: Private macros
define-goal: Private macros
define-happening: Private macros
define-init: Private macros
define-init-action: Private macros
define-invariant: Private macros
define-query: Private macros
define-static-relations: Private macros
define-types: Private macros
define-update: Private macros
del-prop: Private ordinary functions
delete-actions: Private ordinary functions
delete-proposition: Private ordinary functions
deletef-nth-hstack: Private ordinary functions
detect-output: Private ordinary functions
df-bnb1: Private ordinary functions
dfs: Private ordinary functions
different: Private ordinary functions
directory-exists-p: Private ordinary functions
display-all: Private ordinary functions
display-current-parameters: Private ordinary functions
display-globals: Public ordinary functions
dissect-eff-params: Private ordinary functions
dissect-pre-params: Private ordinary functions
do-init-action-updates: Private ordinary functions
do-integer-conversion: Private ordinary functions

E
either: Private ordinary functions
empty-hstack: Private ordinary functions
eql*: Private ordinary functions
equivalent: Private macros
estimate-to-goal: Private ordinary functions
eval-instantiated-spec: Private ordinary functions
exchange-problem-file: Private ordinary functions
expand: Private ordinary functions
expand-into-plist: Private ordinary functions
extract-symbols: Private ordinary functions

F
f-value-better: Private ordinary functions
final-charp: Private ordinary functions
finalize-path-depth: Private ordinary functions
fix-if-ignore: Private ordinary functions
fixed-keys-ht-equal: Private ordinary functions
fixed-keys-ht-hash: Private ordinary functions
fixedp: Private ordinary functions
forced-read-mode-p: Private ordinary functions
forget: Private ordinary functions
freq: Private ordinary functions
Function, $var-or-$var-list-p: Private ordinary functions
Function, $varp: Private ordinary functions
Function, %main: Private ordinary functions
Function, %run: Private ordinary functions
Function, %stage: Private ordinary functions
Function, (setf action.duration): Private ordinary functions
Function, (setf action.dynamic): Private ordinary functions
Function, (setf action.eff-defun-name): Private ordinary functions
Function, (setf action.effect-adds): Private ordinary functions
Function, (setf action.effect-lambda): Private ordinary functions
Function, (setf action.effect-variables): Private ordinary functions
Function, (setf action.ieffect-lambda): Private ordinary functions
Function, (setf action.init): Private ordinary functions
Function, (setf action.iprecondition-lambda): Private ordinary functions
Function, (setf action.name): Private ordinary functions
Function, (setf action.pre-defun-name): Private ordinary functions
Function, (setf action.precondition-args): Private ordinary functions
Function, (setf action.precondition-lambda): Private ordinary functions
Function, (setf action.precondition-params): Private ordinary functions
Function, (setf action.precondition-type-inst): Private ordinary functions
Function, (setf action.precondition-types): Private ordinary functions
Function, (setf action.precondition-variables): Private ordinary functions
Function, (setf hstack.keyfn): Private ordinary functions
Function, (setf hstack.table): Private ordinary functions
Function, (setf hstack.vector): Private ordinary functions
Function, (setf node.depth): Private ordinary functions
Function, (setf node.parent): Private ordinary functions
Function, (setf node.state): Private ordinary functions
Function, (setf problem-state.happenings): Private ordinary functions
Function, (setf problem-state.heuristic): Private ordinary functions
Function, (setf problem-state.hidb): Private ordinary functions
Function, (setf problem-state.idb): Private ordinary functions
Function, (setf problem-state.instantiations): Private ordinary functions
Function, (setf problem-state.name): Private ordinary functions
Function, (setf problem-state.time): Private ordinary functions
Function, (setf problem-state.value): Private ordinary functions
Function, (setf solution.depth): Private ordinary functions
Function, (setf solution.goal): Private ordinary functions
Function, (setf solution.path): Private ordinary functions
Function, (setf solution.time): Private ordinary functions
Function, (setf solution.value): Private ordinary functions
Function, (setf update.changes): Private ordinary functions
Function, (setf update.followups): Private ordinary functions
Function, (setf update.instantiations): Private ordinary functions
Function, (setf update.value): Private ordinary functions
Function, ?var-or-?var-list-p: Private ordinary functions
Function, ?varp: Private ordinary functions
Function, action-p: Private ordinary functions
Function, action.duration: Private ordinary functions
Function, action.dynamic: Private ordinary functions
Function, action.eff-defun-name: Private ordinary functions
Function, action.effect-adds: Private ordinary functions
Function, action.effect-lambda: Private ordinary functions
Function, action.effect-variables: Private ordinary functions
Function, action.ieffect-lambda: Private ordinary functions
Function, action.init: Private ordinary functions
Function, action.iprecondition-lambda: Private ordinary functions
Function, action.name: Private ordinary functions
Function, action.pre-defun-name: Private ordinary functions
Function, action.precondition-args: Private ordinary functions
Function, action.precondition-lambda: Private ordinary functions
Function, action.precondition-params: Private ordinary functions
Function, action.precondition-type-inst: Private ordinary functions
Function, action.precondition-types: Private ordinary functions
Function, action.precondition-variables: Private ordinary functions
Function, add-dir: Private ordinary functions
Function, add-file: Private ordinary functions
Function, add-problem-folder: Public ordinary functions
Function, add-prop: Private ordinary functions
Function, add-proposition: Private ordinary functions
Function, amend-happenings: Private ordinary functions
Function, associate-objects-with-integers: Private ordinary functions
Function, at-max-depth: Private ordinary functions
Function, backward-path-exists: Private ordinary functions
Function, best-states-last: Private ordinary functions
Function, better-than-closed: Private ordinary functions
Function, bounding-function: Private ordinary functions
Function, check-action: Private ordinary functions
Function, check-effect-parameters: Private ordinary functions
Function, check-form-body: Private ordinary functions
Function, check-happening: Private ordinary functions
Function, check-precondition-parameters: Private ordinary functions
Function, check-predicate: Private ordinary functions
Function, check-problem-parameter: Private ordinary functions
Function, check-proposition: Private ordinary functions
Function, check-query/update-call: Private ordinary functions
Function, check-query/update-function: Private ordinary functions
Function, check-relation: Private ordinary functions
Function, check-variable-names: Private ordinary functions
Function, choose-ht-value-test: Private ordinary functions
Function, cl-symbol-p: Private ordinary functions
Function, cleanup-resources: Private ordinary functions
Function, clear-hstack: Private ordinary functions
Function, collect-at-indexes: Private ordinary functions
Function, command-test-1: Private ordinary functions
Function, command-test-2: Private ordinary functions
Function, command-test-3: Private ordinary functions
Function, command-test-4: Private ordinary functions
Function, compute-average-branching-factor: Private ordinary functions
Function, constraint-violated-in-act-hap-net: Private ordinary functions
Function, convert-prop-list: Private ordinary functions
Function, convert-to-fluent-proposition: Private ordinary functions
Function, convert-to-integer: Private ordinary functions
Function, convert-to-proposition: Private ordinary functions
Function, copy-action: Private ordinary functions
Function, copy-file-content: Private ordinary functions
Function, copy-hstack: Private ordinary functions
Function, copy-ht-set: Private ordinary functions
Function, copy-idb: Private ordinary functions
Function, copy-node: Private ordinary functions
Function, copy-problem-state: Private ordinary functions
Function, copy-solution: Private ordinary functions
Function, copy-update: Private ordinary functions
Function, correct-wildcard: Private ordinary functions
Function, create-action: Private ordinary functions
Function, create-action-state: Private ordinary functions
Function, database: Private ordinary functions
Function, del-prop: Private ordinary functions
Function, delete-actions: Private ordinary functions
Function, delete-proposition: Private ordinary functions
Function, deletef-nth-hstack: Private ordinary functions
Function, detect-output: Private ordinary functions
Function, df-bnb1: Private ordinary functions
Function, dfs: Private ordinary functions
Function, different: Private ordinary functions
Function, directory-exists-p: Private ordinary functions
Function, display-all: Private ordinary functions
Function, display-current-parameters: Private ordinary functions
Function, display-globals: Public ordinary functions
Function, dissect-eff-params: Private ordinary functions
Function, dissect-pre-params: Private ordinary functions
Function, do-init-action-updates: Private ordinary functions
Function, do-integer-conversion: Private ordinary functions
Function, either: Private ordinary functions
Function, empty-hstack: Private ordinary functions
Function, eql*: Private ordinary functions
Function, estimate-to-goal: Private ordinary functions
Function, eval-instantiated-spec: Private ordinary functions
Function, exchange-problem-file: Private ordinary functions
Function, expand: Private ordinary functions
Function, expand-into-plist: Private ordinary functions
Function, extract-symbols: Private ordinary functions
Function, f-value-better: Private ordinary functions
Function, final-charp: Private ordinary functions
Function, finalize-path-depth: Private ordinary functions
Function, fix-if-ignore: Private ordinary functions
Function, fixed-keys-ht-equal: Private ordinary functions
Function, fixed-keys-ht-hash: Private ordinary functions
Function, fixedp: Private ordinary functions
Function, forced-read-mode-p: Private ordinary functions
Function, forget: Private ordinary functions
Function, freq: Private ordinary functions
Function, generate-children: Private ordinary functions
Function, generate-fluent-bindings: Private ordinary functions
Function, generate-fluent-instances: Private ordinary functions
Function, generate-new-node: Private ordinary functions
Function, generate-new-propositions: Private ordinary functions
Function, generate-proposition-permutations: Private ordinary functions
Function, get-all-nonspecial-vars: Private ordinary functions
Function, get-all-vars: Private ordinary functions
Function, get-bound-?vars: Private ordinary functions
Function, get-closed-values: Private ordinary functions
Function, get-complement-prop: Private ordinary functions
Function, get-database-reference: Private ordinary functions
Function, get-fluentless-prop: Private ordinary functions
Function, get-following-happening: Private ordinary functions
Function, get-function-state-parameter: Private ordinary functions
Function, get-new-states: Private ordinary functions
Function, get-next-event-time: Private ordinary functions
Function, get-next-node-for-expansion: Private ordinary functions
Function, get-package-root: Private ordinary functions
Function, get-pre-lambda-arg-lists: Private ordinary functions
Function, get-prop-fluent-indices: Private ordinary functions
Function, get-prop-fluents: Private ordinary functions
Function, get-special-vars: Private ordinary functions
Function, get-src-folder-path: Public ordinary functions
Function, get-state-codes: Private ordinary functions
Function, get-state-reference: Private ordinary functions
Function, get-wait-happenings: Private ordinary functions
Function, goal: Private ordinary functions
Function, handle-thread-error: Private ordinary functions
Function, hash-table-present-p: Private ordinary functions
Function, hash-table-same-keys-p: Private ordinary functions
Function, header-p: Private ordinary functions
Function, help: Public ordinary functions
Function, hstack-p: Private ordinary functions
Function, hstack.keyfn: Private ordinary functions
Function, hstack.table: Private ordinary functions
Function, hstack.vector: Private ordinary functions
Function, idb-in-open: Private ordinary functions
Function, idb-to-sorted-alist: Private ordinary functions
Function, in-src: Private ordinary functions
Function, init: Private ordinary functions
Function, init-start-state: Private ordinary functions
Function, initialize-act-state: Private ordinary functions
Function, install-action: Private ordinary functions
Function, install-complementary-relations: Private ordinary functions
Function, install-constraint: Private ordinary functions
Function, install-dynamic-relations: Private ordinary functions
Function, install-goal: Private ordinary functions
Function, install-happening: Private ordinary functions
Function, install-init: Private ordinary functions
Function, install-init-action: Private ordinary functions
Function, install-query: Private ordinary functions
Function, install-static-relations: Private ordinary functions
Function, install-types: Private ordinary functions
Function, install-update: Private ordinary functions
Function, instantiate-type-spec: Private ordinary functions
Function, interleave+: Private ordinary functions
Function, intern-symbol: Private ordinary functions
Function, interrupt-condition: Private ordinary functions
Function, intersperse: Private ordinary functions
Function, length-hstack: Private ordinary functions
Function, list-all: Public ordinary functions
Function, list-database: Private ordinary functions
Function, list-problem-files-plist: Private ordinary functions
Function, list-problem-names: Private ordinary functions
Function, load-problem: Private ordinary functions
Function, lookup: Private ordinary functions
Function, lstrip: Private ordinary functions
Function, main: Public ordinary functions
Function, make-action: Private ordinary functions
Function, make-hstack: Private ordinary functions
Function, make-ht-set: Private ordinary functions
Function, make-node: Private ordinary functions
Function, make-problem-state: Private ordinary functions
Function, make-solution: Private ordinary functions
Function, make-update: Private ordinary functions
Function, map-into-tree-atoms: Private ordinary functions
Function, merge-idb-hidb: Private ordinary functions
Function, merge-sort: Private ordinary functions
Function, narrate: Private ordinary functions
Function, ninsert-list: Private ordinary functions
Function, node-p: Private ordinary functions
Function, node.depth: Private ordinary functions
Function, node.parent: Private ordinary functions
Function, node.state: Private ordinary functions
Function, node.state.idb: Private ordinary functions
Function, node.state.idb-alist: Private ordinary functions
Function, nth-hstack: Private ordinary functions
Function, on-current-path: Private ordinary functions
Function, params: Private ordinary functions
Function, peek-hstack: Private ordinary functions
Function, pop-hstack: Private ordinary functions
Function, print-ht: Private ordinary functions
Function, print-problem-state: Private ordinary functions
Function, print-search-progress: Private ordinary functions
Function, print-search-tree: Private ordinary functions
Function, printout-search-progress: Private ordinary functions
Function, printout-solution: Private ordinary functions
Function, probe: Private ordinary functions
Function, problem-state-p: Private ordinary functions
Function, problem-state.happenings: Private ordinary functions
Function, problem-state.heuristic: Private ordinary functions
Function, problem-state.hidb: Private ordinary functions
Function, problem-state.idb: Private ordinary functions
Function, problem-state.instantiations: Private ordinary functions
Function, problem-state.name: Private ordinary functions
Function, problem-state.time: Private ordinary functions
Function, problem-state.value: Private ordinary functions
Function, probs: Private ordinary functions
Function, process-followups: Private ordinary functions
Function, process-min-max-value: Private ordinary functions
Function, process-solution: Private ordinary functions
Function, process-successors: Private ordinary functions
Function, process-threads: Private ordinary functions
Function, profile: Private ordinary functions
Function, push-hstack: Private ordinary functions
Function, read-from-file: Private ordinary functions
Function, read-globals: Public ordinary functions
Function, read-hash-table-from-file: Private ordinary functions
Function, rebound-condition: Private ordinary functions
Function, record-move: Private ordinary functions
Function, record-solution-path: Private ordinary functions
Function, register-solution: Private ordinary functions
Function, remove-at-indexes: Private ordinary functions
Function, remove-problem-folder: Public ordinary functions
Function, reset-parameters: Private ordinary functions
Function, reset-user-syms: Private ordinary functions
Function, retrieve: Private ordinary functions
Function, revise: Private ordinary functions
Function, rstrip: Private ordinary functions
Function, run-all: Public ordinary functions
Function, run-test: Private ordinary functions
Function, run-test-problems: Public ordinary functions
Function, save: Private ordinary functions
Function, save-globals: Public ordinary functions
Function, save-to-file: Private ordinary functions
Function, search-parallel: Private ordinary functions
Function, search-serial: Private ordinary functions
Function, set-difference-ht-set: Private ordinary functions
Function, set-globals: Public ordinary functions
Function, simple-break: Private ordinary functions
Function, size-hstack: Private ordinary functions
Function, solution-p: Private ordinary functions
Function, solution.depth: Private ordinary functions
Function, solution.goal: Private ordinary functions
Function, solution.path: Private ordinary functions
Function, solution.time: Private ordinary functions
Function, solution.value: Private ordinary functions
Function, solve: Private ordinary functions
Function, sort-either-types: Private ordinary functions
Function, sort-symbols: Private ordinary functions
Function, split-off: Private ordinary functions
Function, string-prefix-p: Private ordinary functions
Function, string-suffix-p: Private ordinary functions
Function, strip-name: Private ordinary functions
Function, subspec-p: Private ordinary functions
Function, subst-int-code: Private ordinary functions
Function, subst-items-at-ascending-indexes: Private ordinary functions
Function, summarize-search-results: Private ordinary functions
Function, symmetric-type-indexes: Private ordinary functions
Function, test: Private ordinary functions
Function, test-commands: Private ordinary functions
Function, translate: Private ordinary functions
Function, translate-assert: Private ordinary functions
Function, translate-bind: Private ordinary functions
Function, translate-case: Private ordinary functions
Function, translate-conditional: Private ordinary functions
Function, translate-connective: Private ordinary functions
Function, translate-do: Private ordinary functions
Function, translate-doall: Private ordinary functions
Function, translate-equivalent: Private ordinary functions
Function, translate-existential: Private ordinary functions
Function, translate-fluent-atom: Private ordinary functions
Function, translate-followup: Private ordinary functions
Function, translate-function-call: Private ordinary functions
Function, translate-let: Private ordinary functions
Function, translate-list: Private ordinary functions
Function, translate-mvsetq: Private ordinary functions
Function, translate-negative-relation: Private ordinary functions
Function, translate-positive-relation: Private ordinary functions
Function, translate-print: Private ordinary functions
Function, translate-proposition: Private ordinary functions
Function, translate-setq: Private ordinary functions
Function, translate-simple-atom: Private ordinary functions
Function, translate-universal: Private ordinary functions
Function, translate-ww-loop: Private ordinary functions
Function, transpose: Private ordinary functions
Function, trim-1st-char: Private ordinary functions
Function, troubleshoot: Private ordinary functions
Function, type-or-query-or-either-p: Private ordinary functions
Function, union-ht-set: Private ordinary functions
Function, update: Private ordinary functions
Function, update-max-depth-explored: Private ordinary functions
Function, update-open-if-succ-better: Private ordinary functions
Function, update-p: Private ordinary functions
Function, update-search-tree: Private ordinary functions
Function, update.changes: Private ordinary functions
Function, update.followups: Private ordinary functions
Function, update.instantiations: Private ordinary functions
Function, update.value: Private ordinary functions
Function, user-or-lisp-type-p: Private ordinary functions
Function, validate-bind-form: Private ordinary functions
Function, validate-global-invariants: Private ordinary functions
Function, varp: Private ordinary functions
Function, vectorize: Private ordinary functions
Function, walk-tree: Private ordinary functions
Function, write-hash-table-to-file: Private ordinary functions
Function, write-operation-p: Private ordinary functions
Function, ww-shutdown: Private ordinary functions
Function, ww-solve: Private ordinary functions

G
generate-children: Private ordinary functions
generate-fluent-bindings: Private ordinary functions
generate-fluent-instances: Private ordinary functions
generate-new-node: Private ordinary functions
generate-new-propositions: Private ordinary functions
generate-proposition-permutations: Private ordinary functions
Generic Function, original-error: Private generic functions
Generic Function, show: Private generic functions
get-all-nonspecial-vars: Private ordinary functions
get-all-vars: Private ordinary functions
get-bound-?vars: Private ordinary functions
get-closed-values: Private ordinary functions
get-complement-prop: Private ordinary functions
get-database-reference: Private ordinary functions
get-fluentless-prop: Private ordinary functions
get-following-happening: Private ordinary functions
get-function-state-parameter: Private ordinary functions
get-new-states: Private ordinary functions
get-next-event-time: Private ordinary functions
get-next-node-for-expansion: Private ordinary functions
get-package-root: Private ordinary functions
get-pre-lambda-arg-lists: Private ordinary functions
get-prop-fluent-indices: Private ordinary functions
get-prop-fluents: Private ordinary functions
get-special-vars: Private ordinary functions
get-src-folder-path: Public ordinary functions
get-state-codes: Private ordinary functions
get-state-reference: Private ordinary functions
get-wait-happenings: Private ordinary functions
goal: Private ordinary functions

H
handle-thread-error: Private ordinary functions
hash-table-present-p: Private ordinary functions
hash-table-same-keys-p: Private ordinary functions
header-p: Private ordinary functions
help: Public ordinary functions
hstack-p: Private ordinary functions
hstack.keyfn: Private ordinary functions
hstack.table: Private ordinary functions
hstack.vector: Private ordinary functions

I
idb-in-open: Private ordinary functions
idb-to-sorted-alist: Private ordinary functions
if-it: Private macros
in-src: Private ordinary functions
increment-global: Private macros
init: Private ordinary functions
init-start-state: Private ordinary functions
initialize-act-state: Private ordinary functions
install-action: Private ordinary functions
install-complementary-relations: Private ordinary functions
install-constraint: Private ordinary functions
install-dynamic-relations: Private ordinary functions
install-goal: Private ordinary functions
install-happening: Private ordinary functions
install-init: Private ordinary functions
install-init-action: Private ordinary functions
install-query: Private ordinary functions
install-static-relations: Private ordinary functions
install-types: Private ordinary functions
install-update: Private ordinary functions
instantiate-type-spec: Private ordinary functions
interleave+: Private ordinary functions
intern-symbol: Private ordinary functions
interrupt-condition: Private ordinary functions
intersperse: Private ordinary functions

L
length-hstack: Private ordinary functions
list-all: Public ordinary functions
list-database: Private ordinary functions
list-problem-files-plist: Private ordinary functions
list-problem-names: Private ordinary functions
load-problem: Private ordinary functions
lookup: Private ordinary functions
lprt: Private macros
lstrip: Private ordinary functions

M
Macro, define-action: Private macros
Macro, define-complementary-relations: Private macros
Macro, define-constraint: Private macros
Macro, define-dynamic-relations: Private macros
Macro, define-global: Private macros
Macro, define-goal: Private macros
Macro, define-happening: Private macros
Macro, define-init: Private macros
Macro, define-init-action: Private macros
Macro, define-invariant: Private macros
Macro, define-query: Private macros
Macro, define-static-relations: Private macros
Macro, define-types: Private macros
Macro, define-update: Private macros
Macro, equivalent: Private macros
Macro, if-it: Private macros
Macro, increment-global: Private macros
Macro, lprt: Private macros
Macro, mvb: Private macros
Macro, mvs: Private macros
Macro, mvsetq: Private macros
Macro, pop-global: Private macros
Macro, prt: Private macros
Macro, push-global: Private macros
Macro, run: Public macros
Macro, sortf: Private macros
Macro, stage: Private macros
Macro, when-debug>=: Private macros
Macro, with-search-structures-lock: Private macros
Macro, with-silenced-compilation: Private macros
Macro, ww-set: Private macros
main: Public ordinary functions
make-action: Private ordinary functions
make-hstack: Private ordinary functions
make-ht-set: Private ordinary functions
make-node: Private ordinary functions
make-problem-state: Private ordinary functions
make-solution: Private ordinary functions
make-update: Private ordinary functions
map-into-tree-atoms: Private ordinary functions
merge-idb-hidb: Private ordinary functions
merge-sort: Private ordinary functions
Method, original-error: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, show: Private generic functions
Method, show: Private generic functions
Method, show: Private generic functions
Method, show: Private generic functions
mvb: Private macros
mvs: Private macros
mvsetq: Private macros

N
narrate: Private ordinary functions
ninsert-list: Private ordinary functions
node-p: Private ordinary functions
node.depth: Private ordinary functions
node.parent: Private ordinary functions
node.state: Private ordinary functions
node.state.idb: Private ordinary functions
node.state.idb-alist: Private ordinary functions
nth-hstack: Private ordinary functions

O
on-current-path: Private ordinary functions
original-error: Private generic functions
original-error: Private generic functions

P
params: Private ordinary functions
peek-hstack: Private ordinary functions
pop-global: Private macros
pop-hstack: Private ordinary functions
print-ht: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-problem-state: Private ordinary functions
print-search-progress: Private ordinary functions
print-search-tree: Private ordinary functions
printout-search-progress: Private ordinary functions
printout-solution: Private ordinary functions
probe: Private ordinary functions
problem-state-p: Private ordinary functions
problem-state.happenings: Private ordinary functions
problem-state.heuristic: Private ordinary functions
problem-state.hidb: Private ordinary functions
problem-state.idb: Private ordinary functions
problem-state.instantiations: Private ordinary functions
problem-state.name: Private ordinary functions
problem-state.time: Private ordinary functions
problem-state.value: Private ordinary functions
probs: Private ordinary functions
process-followups: Private ordinary functions
process-min-max-value: Private ordinary functions
process-solution: Private ordinary functions
process-successors: Private ordinary functions
process-threads: Private ordinary functions
profile: Private ordinary functions
prt: Private macros
push-global: Private macros
push-hstack: Private ordinary functions

R
read-from-file: Private ordinary functions
read-globals: Public ordinary functions
read-hash-table-from-file: Private ordinary functions
rebound-condition: Private ordinary functions
record-move: Private ordinary functions
record-solution-path: Private ordinary functions
register-solution: Private ordinary functions
remove-at-indexes: Private ordinary functions
remove-problem-folder: Public ordinary functions
reset-parameters: Private ordinary functions
reset-user-syms: Private ordinary functions
retrieve: Private ordinary functions
revise: Private ordinary functions
rstrip: Private ordinary functions
run: Public macros
run-all: Public ordinary functions
run-test: Private ordinary functions
run-test-problems: Public ordinary functions

S
save: Private ordinary functions
save-globals: Public ordinary functions
save-to-file: Private ordinary functions
search-parallel: Private ordinary functions
search-serial: Private ordinary functions
set-difference-ht-set: Private ordinary functions
set-globals: Public ordinary functions
show: Private generic functions
show: Private generic functions
show: Private generic functions
show: Private generic functions
show: Private generic functions
simple-break: Private ordinary functions
size-hstack: Private ordinary functions
solution-p: Private ordinary functions
solution.depth: Private ordinary functions
solution.goal: Private ordinary functions
solution.path: Private ordinary functions
solution.time: Private ordinary functions
solution.value: Private ordinary functions
solve: Private ordinary functions
sort-either-types: Private ordinary functions
sort-symbols: Private ordinary functions
sortf: Private macros
split-off: Private ordinary functions
stage: Private macros
string-prefix-p: Private ordinary functions
string-suffix-p: Private ordinary functions
strip-name: Private ordinary functions
subspec-p: Private ordinary functions
subst-int-code: Private ordinary functions
subst-items-at-ascending-indexes: Private ordinary functions
summarize-search-results: Private ordinary functions
symmetric-type-indexes: Private ordinary functions

T
test: Private ordinary functions
test-commands: Private ordinary functions
translate: Private ordinary functions
translate-assert: Private ordinary functions
translate-bind: Private ordinary functions
translate-case: Private ordinary functions
translate-conditional: Private ordinary functions
translate-connective: Private ordinary functions
translate-do: Private ordinary functions
translate-doall: Private ordinary functions
translate-equivalent: Private ordinary functions
translate-existential: Private ordinary functions
translate-fluent-atom: Private ordinary functions
translate-followup: Private ordinary functions
translate-function-call: Private ordinary functions
translate-let: Private ordinary functions
translate-list: Private ordinary functions
translate-mvsetq: Private ordinary functions
translate-negative-relation: Private ordinary functions
translate-positive-relation: Private ordinary functions
translate-print: Private ordinary functions
translate-proposition: Private ordinary functions
translate-setq: Private ordinary functions
translate-simple-atom: Private ordinary functions
translate-universal: Private ordinary functions
translate-ww-loop: Private ordinary functions
transpose: Private ordinary functions
trim-1st-char: Private ordinary functions
troubleshoot: Private ordinary functions
type-or-query-or-either-p: Private ordinary functions

U
union-ht-set: Private ordinary functions
update: Private ordinary functions
update-max-depth-explored: Private ordinary functions
update-open-if-succ-better: Private ordinary functions
update-p: Private ordinary functions
update-search-tree: Private ordinary functions
update.changes: Private ordinary functions
update.followups: Private ordinary functions
update.instantiations: Private ordinary functions
update.value: Private ordinary functions
user-or-lisp-type-p: Private ordinary functions

V
validate-bind-form: Private ordinary functions
validate-global-invariants: Private ordinary functions
varp: Private ordinary functions
vectorize: Private ordinary functions

W
walk-tree: Private ordinary functions
when-debug>=: Private macros
with-search-structures-lock: Private macros
with-silenced-compilation: Private macros
write-hash-table-to-file: Private ordinary functions
write-operation-p: Private ordinary functions
ww-set: Private macros
ww-shutdown: Private ordinary functions
ww-solve: Private ordinary functions


A.3 Variables

Jump to:   *  
C   D   E   F   G   H   I   K   N   O   P   S   T   V  
Index Entry  Section

*
*-*: Private special variables
*accumulated-depths*: Private special variables
*actions*: Private special variables
*average-branching-factor*: Private special variables
*best-states*: Private special variables
*branch*: Private special variables
*closed*: Private special variables
*complements*: Private special variables
*connectives*: Private special variables
*constant-integers*: Private special variables
*cost*: Private special variables
*counter*: Private special variables
*db*: Private special variables
*debug*: Private special variables
*depth-cutoff*: Private special variables
*eff-param-vars*: Private special variables
*fixed-ht-values-fn*: Private special variables
*fluent-relation-indices*: Private special variables
*freq-ht*: Private special variables
*global-invariants*: Private special variables
*globals-file*: Public special variables
*hap-db*: Private special variables
*hap-idb*: Private special variables
*happening-names*: Private special variables
*hdb*: Private special variables
*hidb*: Private special variables
*idb*: Private special variables
*init-actions*: Private special variables
*integer-constants*: Private special variables
*last-object-index*: Private special variables
*lock*: Private special variables
*max-depth-explored*: Private special variables
*min-action-duration*: Private special variables
*num-idle-threads*: Private special variables
*num-init-successors*: Private special variables
*num-paths*: Private special variables
*objective-value-p*: Private special variables
*open*: Private special variables
*parameter-headers*: Private special variables
*print-updates*: Private special variables
*prior-time*: Private special variables
*prior-total-states-processed*: Private special variables
*probe*: Private special variables
*problem-folder-paths*: Public special variables
*problem-name*: Private special variables
*problem-type*: Private special variables
*program-cycles*: Private special variables
*progress-reporting-interval*: Private special variables
*proposition-read-mode*: Private special variables
*query-names*: Private special variables
*randomize-search*: Private special variables
*relations*: Private special variables
*rem-init-successors*: Private special variables
*repeated-states*: Private special variables
*search-tree*: Private special variables
*shutdown-requested*: Private special variables
*solution-count*: Private special variables
*solution-type*: Private special variables
*solutions*: Private special variables
*start-state*: Private special variables
*start-time*: Private special variables
*state-codes*: Private special variables
*static-db*: Private special variables
*static-idb*: Private special variables
*static-relations*: Private special variables
*symmetrics*: Private special variables
*test-problem-files*: Private special variables
*threads*: Private special variables
*total-states-processed*: Private special variables
*tree-or-graph*: Private special variables
*troubleshoot-current-node*: Private special variables
*types*: Private special variables
*unique-solutions*: Private special variables
*update-names*: Private special variables
*upper*: Private special variables
*upper-bound*: Private special variables
*within-quantifier*: Private special variables
*ww-loading*: Private special variables

C
changes: Private structures

D
depth: Private structures
depth: Private structures
duration: Private structures
dynamic: Private structures

E
eff-defun-name: Private structures
effect-adds: Private structures
effect-lambda: Private structures
effect-variables: Private structures

F
followups: Private structures

G
goal: Private structures

H
happenings: Private structures
heuristic: Private structures
hidb: Private structures

I
idb: Private structures
ieffect-lambda: Private structures
init: Private structures
instantiations: Private structures
instantiations: Private structures
iprecondition-lambda: Private structures

K
keyfn: Private structures

N
name: Private structures
name: Private structures

O
original-error: Private conditions

P
parent: Private structures
path: Private structures
pre-defun-name: Private structures
precondition-args: Private structures
precondition-lambda: Private structures
precondition-params: Private structures
precondition-type-inst: Private structures
precondition-types: Private structures
precondition-variables: Private structures

S
Slot, changes: Private structures
Slot, depth: Private structures
Slot, depth: Private structures
Slot, duration: Private structures
Slot, dynamic: Private structures
Slot, eff-defun-name: Private structures
Slot, effect-adds: Private structures
Slot, effect-lambda: Private structures
Slot, effect-variables: Private structures
Slot, followups: Private structures
Slot, goal: Private structures
Slot, happenings: Private structures
Slot, heuristic: Private structures
Slot, hidb: Private structures
Slot, idb: Private structures
Slot, ieffect-lambda: Private structures
Slot, init: Private structures
Slot, instantiations: Private structures
Slot, instantiations: Private structures
Slot, iprecondition-lambda: Private structures
Slot, keyfn: Private structures
Slot, name: Private structures
Slot, name: Private structures
Slot, original-error: Private conditions
Slot, parent: Private structures
Slot, path: Private structures
Slot, pre-defun-name: Private structures
Slot, precondition-args: Private structures
Slot, precondition-lambda: Private structures
Slot, precondition-params: Private structures
Slot, precondition-type-inst: Private structures
Slot, precondition-types: Private structures
Slot, precondition-variables: Private structures
Slot, state: Private structures
Slot, table: Private structures
Slot, time: Private structures
Slot, time: Private structures
Slot, value: Private structures
Slot, value: Private structures
Slot, value: Private structures
Slot, vector: Private structures
Special Variable, *-*: Private special variables
Special Variable, *accumulated-depths*: Private special variables
Special Variable, *actions*: Private special variables
Special Variable, *average-branching-factor*: Private special variables
Special Variable, *best-states*: Private special variables
Special Variable, *branch*: Private special variables
Special Variable, *closed*: Private special variables
Special Variable, *complements*: Private special variables
Special Variable, *connectives*: Private special variables
Special Variable, *constant-integers*: Private special variables
Special Variable, *cost*: Private special variables
Special Variable, *counter*: Private special variables
Special Variable, *db*: Private special variables
Special Variable, *debug*: Private special variables
Special Variable, *depth-cutoff*: Private special variables
Special Variable, *eff-param-vars*: Private special variables
Special Variable, *fixed-ht-values-fn*: Private special variables
Special Variable, *fluent-relation-indices*: Private special variables
Special Variable, *freq-ht*: Private special variables
Special Variable, *global-invariants*: Private special variables
Special Variable, *globals-file*: Public special variables
Special Variable, *hap-db*: Private special variables
Special Variable, *hap-idb*: Private special variables
Special Variable, *happening-names*: Private special variables
Special Variable, *hdb*: Private special variables
Special Variable, *hidb*: Private special variables
Special Variable, *idb*: Private special variables
Special Variable, *init-actions*: Private special variables
Special Variable, *integer-constants*: Private special variables
Special Variable, *last-object-index*: Private special variables
Special Variable, *lock*: Private special variables
Special Variable, *max-depth-explored*: Private special variables
Special Variable, *min-action-duration*: Private special variables
Special Variable, *num-idle-threads*: Private special variables
Special Variable, *num-init-successors*: Private special variables
Special Variable, *num-paths*: Private special variables
Special Variable, *objective-value-p*: Private special variables
Special Variable, *open*: Private special variables
Special Variable, *parameter-headers*: Private special variables
Special Variable, *print-updates*: Private special variables
Special Variable, *prior-time*: Private special variables
Special Variable, *prior-total-states-processed*: Private special variables
Special Variable, *probe*: Private special variables
Special Variable, *problem-folder-paths*: Public special variables
Special Variable, *problem-name*: Private special variables
Special Variable, *problem-type*: Private special variables
Special Variable, *program-cycles*: Private special variables
Special Variable, *progress-reporting-interval*: Private special variables
Special Variable, *proposition-read-mode*: Private special variables
Special Variable, *query-names*: Private special variables
Special Variable, *randomize-search*: Private special variables
Special Variable, *relations*: Private special variables
Special Variable, *rem-init-successors*: Private special variables
Special Variable, *repeated-states*: Private special variables
Special Variable, *search-tree*: Private special variables
Special Variable, *shutdown-requested*: Private special variables
Special Variable, *solution-count*: Private special variables
Special Variable, *solution-type*: Private special variables
Special Variable, *solutions*: Private special variables
Special Variable, *start-state*: Private special variables
Special Variable, *start-time*: Private special variables
Special Variable, *state-codes*: Private special variables
Special Variable, *static-db*: Private special variables
Special Variable, *static-idb*: Private special variables
Special Variable, *static-relations*: Private special variables
Special Variable, *symmetrics*: Private special variables
Special Variable, *test-problem-files*: Private special variables
Special Variable, *threads*: Private special variables
Special Variable, *total-states-processed*: Private special variables
Special Variable, *tree-or-graph*: Private special variables
Special Variable, *troubleshoot-current-node*: Private special variables
Special Variable, *types*: Private special variables
Special Variable, *unique-solutions*: Private special variables
Special Variable, *update-names*: Private special variables
Special Variable, *upper*: Private special variables
Special Variable, *upper-bound*: Private special variables
Special Variable, *within-quantifier*: Private special variables
Special Variable, *ww-loading*: Private special variables
state: Private structures

T
table: Private structures
time: Private structures
time: Private structures

V
value: Private structures
value: Private structures
value: Private structures
vector: Private structures


A.4 Data types

Jump to:   A   C   F   H   M   N   P   S   T   U   W  
Index Entry  Section

A
action: Private structures

C
Condition, thread-error: Private conditions

F
File, packages.lisp: The wouldwork/src/packages․lisp file
File, problem.lisp: The wouldwork/src/problem․lisp file
File, wouldwork.asd: The wouldwork/wouldwork․asd file
File, ww-command-tests.lisp: The wouldwork/src/ww-command-tests․lisp file
File, ww-converter.lisp: The wouldwork/src/ww-converter․lisp file
File, ww-frequencies.lisp: The wouldwork/src/ww-frequencies․lisp file
File, ww-happenings.lisp: The wouldwork/src/ww-happenings․lisp file
File, ww-hstack.lisp: The wouldwork/src/ww-hstack․lisp file
File, ww-initialize.lisp: The wouldwork/src/ww-initialize․lisp file
File, ww-installer.lisp: The wouldwork/src/ww-installer․lisp file
File, ww-interface.lisp: The wouldwork/src/ww-interface․lisp file
File, ww-parallel.lisp: The wouldwork/src/ww-parallel․lisp file
File, ww-planner.lisp: The wouldwork/src/ww-planner․lisp file
File, ww-preliminaries.lisp: The wouldwork/src/ww-preliminaries․lisp file
File, ww-problem-tests.lisp: The wouldwork/src/ww-problem-tests․lisp file
File, ww-searcher.lisp: The wouldwork/src/ww-searcher․lisp file
File, ww-set.lisp: The wouldwork/src/ww-set․lisp file
File, ww-settings.lisp: The wouldwork/src/ww-settings․lisp file
File, ww-structures.lisp: The wouldwork/src/ww-structures․lisp file
File, ww-support.lisp: The wouldwork/src/ww-support․lisp file
File, ww-translator.lisp: The wouldwork/src/ww-translator․lisp file
File, ww-utilities.lisp: The wouldwork/src/ww-utilities․lisp file
File, ww-validator.lisp: The wouldwork/src/ww-validator․lisp file

H
hstack: The hstack package
hstack: Private structures

M
Module, src: The wouldwork/src module

N
node: Private structures

P
Package, hstack: The hstack package
Package, utilities: The utilities package
Package, wouldwork: The wouldwork package
packages.lisp: The wouldwork/src/packages․lisp file
problem-state: Private structures
problem.lisp: The wouldwork/src/problem․lisp file

S
solution: Private structures
src: The wouldwork/src module
Structure, action: Private structures
Structure, hstack: Private structures
Structure, node: Private structures
Structure, problem-state: Private structures
Structure, solution: Private structures
Structure, update: Private structures
System, wouldwork: The wouldwork system

T
thread-error: Private conditions

U
update: Private structures
utilities: The utilities package

W
wouldwork: The wouldwork system
wouldwork: The wouldwork package
wouldwork.asd: The wouldwork/wouldwork․asd file
ww-command-tests.lisp: The wouldwork/src/ww-command-tests․lisp file
ww-converter.lisp: The wouldwork/src/ww-converter․lisp file
ww-frequencies.lisp: The wouldwork/src/ww-frequencies․lisp file
ww-happenings.lisp: The wouldwork/src/ww-happenings․lisp file
ww-hstack.lisp: The wouldwork/src/ww-hstack․lisp file
ww-initialize.lisp: The wouldwork/src/ww-initialize․lisp file
ww-installer.lisp: The wouldwork/src/ww-installer․lisp file
ww-interface.lisp: The wouldwork/src/ww-interface․lisp file
ww-parallel.lisp: The wouldwork/src/ww-parallel․lisp file
ww-planner.lisp: The wouldwork/src/ww-planner․lisp file
ww-preliminaries.lisp: The wouldwork/src/ww-preliminaries․lisp file
ww-problem-tests.lisp: The wouldwork/src/ww-problem-tests․lisp file
ww-searcher.lisp: The wouldwork/src/ww-searcher․lisp file
ww-set.lisp: The wouldwork/src/ww-set․lisp file
ww-settings.lisp: The wouldwork/src/ww-settings․lisp file
ww-structures.lisp: The wouldwork/src/ww-structures․lisp file
ww-support.lisp: The wouldwork/src/ww-support․lisp file
ww-translator.lisp: The wouldwork/src/ww-translator․lisp file
ww-utilities.lisp: The wouldwork/src/ww-utilities․lisp file
ww-validator.lisp: The wouldwork/src/ww-validator․lisp file