The lisa Reference Manual

This is the lisa Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 18:33:49 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 lisa

The Lisa expert system shell

Maintainer

David E. Young

Author

David E. Young

License

LGPL

Source

lisa.asd.

Child Component

src (module).


3 Modules

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


3.1 lisa/src

Source

lisa.asd.

Parent Component

lisa (system).

Child Components

3.2 lisa/src/packages

Source

lisa.asd.

Parent Component

src (module).

Child Component

pkgdecl.lisp (file).


3.3 lisa/src/utils

Dependency

packages (module).

Source

lisa.asd.

Parent Component

src (module).

Child Components

3.4 lisa/src/belief-systems

Dependency

utils (module).

Source

lisa.asd.

Parent Component

src (module).

Child Components

3.5 lisa/src/reflect

Dependency

belief-systems (module).

Source

lisa.asd.

Parent Component

src (module).

Child Component

reflect.lisp (file).


3.6 lisa/src/core

Dependency

reflect (module).

Source

lisa.asd.

Parent Component

src (module).

Child Components

3.7 lisa/src/implementations

Dependency

core (module).

Source

lisa.asd.

Parent Component

src (module).

Child Component

workarounds.lisp (file).


3.8 lisa/src/rete

Dependency

implementations (module).

Source

lisa.asd.

Parent Component

src (module).

Child Components

3.9 lisa/src/config

Dependency

rete (module).

Source

lisa.asd.

Parent Component

src (module).

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 lisa/lisa.asd

Source

lisa.asd.

Parent Component

lisa (system).

ASDF Systems

lisa.

Packages

lisa-system.

Internals

4.1.2 lisa/src/packages/pkgdecl.lisp

Source

lisa.asd.

Parent Component

packages (module).

Packages

4.1.3 lisa/src/utils/compose.lisp

Source

lisa.asd.

Parent Component

utils (module).

Internals

4.1.4 lisa/src/utils/utils.lisp

Dependency

compose.lisp (file).

Source

lisa.asd.

Parent Component

utils (module).

Public Interface
Internals

4.1.5 lisa/src/belief-systems/belief.lisp

Source

lisa.asd.

Parent Component

belief-systems (module).

Public Interface

4.1.6 lisa/src/belief-systems/certainty-factors.lisp

Dependency

belief.lisp (file).

Source

lisa.asd.

Parent Component

belief-systems (module).

Public Interface
Internals

4.1.7 lisa/src/reflect/reflect.lisp

Source

lisa.asd.

Parent Component

reflect (module).

Public Interface
Internals

4.1.8 lisa/src/core/preamble.lisp

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.9 lisa/src/core/conditions.lisp

Dependency

preamble.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.10 lisa/src/core/deffacts.lisp

Dependency

conditions.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.11 lisa/src/core/fact.lisp

Dependency

deffacts.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.12 lisa/src/core/watches.lisp

Dependency

fact.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Internals

4.1.13 lisa/src/core/activation.lisp

Dependency

watches.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.14 lisa/src/core/heap.lisp

Dependency

activation.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.15 lisa/src/core/conflict-resolution-strategies.lisp

Dependency

heap.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Internals

4.1.16 lisa/src/core/context.lisp

Dependency

conflict-resolution-strategies.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.17 lisa/src/core/rule.lisp

Dependency

context.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.18 lisa/src/core/pattern.lisp

Dependency

rule.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Internals

4.1.19 lisa/src/core/rule-parser.lisp

Dependency

pattern.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Internals

4.1.20 lisa/src/core/fact-parser.lisp

Dependency

rule-parser.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Internals

4.1.21 lisa/src/core/language.lisp

Dependency

fact-parser.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

expand-slots (function).


4.1.22 lisa/src/core/tms-support.lisp

Dependency

language.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Internals

4.1.23 lisa/src/core/rete.lisp

Dependency

tms-support.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.24 lisa/src/core/belief-interface.lisp

Dependency

rete.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface

4.1.25 lisa/src/core/meta.lisp

Dependency

belief-interface.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Internals

4.1.26 lisa/src/core/binding.lisp

Dependency

meta.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Internals

4.1.27 lisa/src/core/token.lisp

Dependency

binding.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface

token (class).

Internals

4.1.28 lisa/src/core/retrieve.lisp

Dependency

token.lisp (file).

Source

lisa.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.29 lisa/src/implementations/workarounds.lisp

Source

lisa.asd.

Parent Component

implementations (module).


4.1.30 lisa/src/rete/node-tests.lisp

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.31 lisa/src/rete/shared-node.lisp

Dependency

node-tests.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.32 lisa/src/rete/successor.lisp

Dependency

shared-node.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.33 lisa/src/rete/node-pair.lisp

Dependency

successor.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.34 lisa/src/rete/terminal-node.lisp

Dependency

node-pair.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Public Interface

print-object (method).

Internals

4.1.35 lisa/src/rete/node1.lisp

Dependency

terminal-node.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Public Interface

print-object (method).

Internals

4.1.36 lisa/src/rete/join-node.lisp

Dependency

node1.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Public Interface

print-object (method).

Internals

4.1.37 lisa/src/rete/node2.lisp

Dependency

join-node.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.38 lisa/src/rete/node2-not.lisp

Dependency

node2.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.39 lisa/src/rete/node2-test.lisp

Dependency

node2-not.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.40 lisa/src/rete/node2-exists.lisp

Dependency

node2-test.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.41 lisa/src/rete/rete-compiler.lisp

Dependency

node2-exists.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Public Interface

rete-network (class).

Internals

4.1.42 lisa/src/rete/tms.lisp

Dependency

rete-compiler.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

pass-tokens-to-successor (method).


4.1.43 lisa/src/rete/network-ops.lisp

Dependency

tms.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Internals

4.1.44 lisa/src/rete/network-crawler.lisp

Dependency

network-ops.lisp (file).

Source

lisa.asd.

Parent Component

rete (module).

Public Interface

show-network (function).


4.1.45 lisa/src/config/config.lisp

Source

lisa.asd.

Parent Component

config (module).


4.1.46 lisa/src/config/epilogue.lisp

Dependency

config.lisp (file).

Source

lisa.asd.

Parent Component

config (module).

Packages

lisa-lisp.

Public Interface

initial-fact (class).

Internals

5 Packages

Packages are listed by definition order.


5.1 lisa-lisp

Source

epilogue.lisp.

Use List

common-lisp.


5.2 lisa.utils

Source

pkgdecl.lisp.

Nickname

utils

Use List

common-lisp.

Public Interface
Internals

5.3 lisa-system

Source

lisa.asd.

Use List
  • asdf/interface.
  • common-lisp.
Internals

5.4 lisa

Source

pkgdecl.lisp.

Use List

common-lisp.

Public Interface
Internals

5.5 lisa.belief

Source

pkgdecl.lisp.

Nickname

belief

Use List

common-lisp.

Public Interface
Internals

5.6 lisa.heap

Source

pkgdecl.lisp.

Nickname

heap

Use List

common-lisp.

Public Interface
Internals

5.7 lisa.reflect

Source

pkgdecl.lisp.

Nickname

reflect

Use List

common-lisp.

Public Interface
Internals

5.8 lisa-user

Source

pkgdecl.lisp.

Use List

common-lisp.


6 Definitions

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


6.1 Public Interface


6.1.1 Macros

Macro: assert ((name &body body) &key belief)
Package

lisa.

Source

language.lisp.

Macro: compose (&rest functions)

Macro: compose functions or macros of 1 argument into a lambda. E.g., (compose abs (dl-val zz) ’key) ==>
(lambda (yy) (abs (funcall (dl-val zz) (funcall key yy))))

Package

lisa.utils.

Source

utils.lisp.

Macro: defcontext (context-name &optional strategy)
Package

lisa.

Source

language.lisp.

Macro: deffacts (name (&key &allow-other-keys) &body body)
Package

lisa.

Source

language.lisp.

Macro: defrule (name (&key salience context belief auto-focus) &body body)
Package

lisa.

Source

language.lisp.

Macro: deftemplate (name (&key) &body body)
Package

lisa.

Source

language.lisp.

Macro: map-in (fn seq &rest seqs)

‘map-into’ the first sequence, evaluating it once. (map-in F S) == (map-into S F S)

Package

lisa.utils.

Source

utils.lisp.

Macro: modify (fact &body body)
Package

lisa.

Source

language.lisp.

Macro: retrieve ((&rest varlist) &body body)
Package

lisa.

Source

retrieve.lisp.

Macro: undefcontext (context-name)
Package

lisa.

Source

language.lisp.

Macro: with-inference-engine ((engine) &body body)

Evaluates BODY within the context of the inference engine ENGINE. This macro is MP-safe.

Package

lisa.

Source

preamble.lisp.

Macro: with-simple-query ((var value) query &body body)

For each variable/instance pair in a query result, invoke BODY with VAR bound to the query variable and VALUE bound to the instance.

Package

lisa.

Source

retrieve.lisp.


6.1.2 Ordinary functions

Function: active-rule ()
Package

lisa.

Source

preamble.lisp.

Function: agenda (&optional context-name)
Package

lisa.

Source

language.lisp.

Function: allow-duplicate-facts ()
Setf Expander: (setf allow-duplicate-facts) ()
Package

lisa.

Source

preamble.lisp.

Function: assert-instance (instance)
Package

lisa.

Source

language.lisp.

Function: auto-focus-p (rule)
Package

lisa.

Source

rule.lisp.

Function: class-all-superclasses (class-or-symbol)
Package

lisa.reflect.

Source

reflect.lisp.

Function: class-slot-list (class &optional all)

Return the list of slots of a CLASS.
CLASS can be a symbol, a class object (as returned by ‘class-of’) or an instance of a class.
If the second optional argument ALL is non-NIL (default),
all slots are returned, otherwise only the slots with :allocation type :instance are returned.

Package

lisa.reflect.

Source

reflect.lisp.

Function: clear ()
Package

lisa.

Source

language.lisp.

Function: collect (predicate list)
Package

lisa.utils.

Source

utils.lisp.

Function: consider-taxonomy ()
Setf Expander: (setf consider-taxonomy) ()
Package

lisa.

Source

preamble.lisp.

Function: contexts ()
Package

lisa.

Source

language.lisp.

Function: create-heap (less-fn &key order initial-contents)
Package

lisa.heap.

Source

heap.lisp.

Function: current-engine (&optional errorp)

Returns the currently-active inference engine. Usually only invoked by code running within the context of WITH-INFERENCE-ENGINE.

Package

lisa.

Source

preamble.lisp.

Function: dependencies ()
Package

lisa.

Source

language.lisp.

Function: engine ()
Package

lisa.

Source

language.lisp.

Function: facts ()
Package

lisa.

Source

language.lisp.

Function: false-p (cf)
Package

lisa.belief.

Source

certainty-factors.lisp.

Function: find-after (item sequence &key test)

Returns that portion of SEQUENCE that occurs after ITEM, or NIL otherwise.

Package

lisa.utils.

Source

utils.lisp.

Function: find-before (item sequence &key test)

Returns both that portion of SEQUENCE that occurs before ITEM and the rest of SEQUENCE anchored at ITEM, or NIL otherwise.

Package

lisa.utils.

Source

utils.lisp.

Function: find-context (rete defined-name &optional errorp)
Package

lisa.

Source

rete.lisp.

Function: find-direct-superclasses (class)
Package

lisa.reflect.

Source

reflect.lisp.

Function: find-fact-by-id (rete fact-id)
Package

lisa.

Source

rete.lisp.

Function: find-fact-by-name (rete fact-name)
Package

lisa.

Source

rete.lisp.

Function: find-if-after (predicate sequence)
Package

lisa.utils.

Source

utils.lisp.

Function: find-rule (rete rule-name)
Package

lisa.

Source

rete.lisp.

Function: flatten (x)
Package

lisa.utils.

Source

utils.lisp.

Function: focus (&rest args)
Package

lisa.

Source

language.lisp.

Function: focus-stack ()
Package

lisa.

Source

language.lisp.

Function: halt ()
Package

lisa.

Source

language.lisp.

Function: heap-clear (heap)

Remove all elements from the heap, leaving it empty. Faster (& more convenient) than calling HEAP-REMOVE until the heap is empty.

Package

lisa.heap.

Source

heap.lisp.

Function: heap-collect (heap &optional fn)
Package

lisa.heap.

Source

heap.lisp.

Function: heap-count (heap)
Package

lisa.heap.

Source

heap.lisp.

Function: heap-empty-p (heap)

Returns non-NIL if & only if the heap contains no items.

Package

lisa.heap.

Source

heap.lisp.

Function: heap-find (heap &optional fn)
Package

lisa.heap.

Source

heap.lisp.

Function: heap-insert (heap x)

Insert a new element into the heap. Return the element (which probably
isn’t very useful).

Package

lisa.heap.

Source

heap.lisp.

Function: heap-peek (heap)

Return the first element in the heap, but don’t remove it. It’ll be an error if the heap is empty. (Should that be an error?)

Package

lisa.heap.

Source

heap.lisp.

Function: heap-remove (heap &optional fn)

Remove the minimum (first) element in the heap & return it. It’s an error if the heap is already empty. (Should that be an error?)

Package

lisa.heap.

Source

heap.lisp.

Function: in-rule-firing-p ()
Package

lisa.

Source

preamble.lisp.

Function: inference-engine (&rest args)
Package

lisa.

Source

preamble.lisp.

Function: lsthash (func ht)

Applies FUNC to each entry in hashtable HT and, if FUNC so indicates, appends the object to a LIST. If NIL is an acceptable object, then FUNC should return two values; NIL and T.

Package

lisa.utils.

Source

utils.lisp.

Function: make-inference-engine ()
Package

lisa.

Source

rete.lisp.

Function: mark-instance-as-changed (instance &key slot-id)
Package

lisa.

Source

language.lisp.

Function: refocus ()
Package

lisa.

Source

language.lisp.

Function: reset ()
Package

lisa.

Source

language.lisp.

Function: retract-instance (instance)
Package

lisa.

Source

language.lisp.

Function: rule ()
Package

lisa.

Source

language.lisp.

Function: rule-default-name (rule)
Package

lisa.

Source

rule.lisp.

Function: rules (&optional context-name)
Package

lisa.

Source

language.lisp.

Function: run (&optional contexts)
Package

lisa.

Source

language.lisp.

Function: show-network (rete-network &optional strm)
Package

lisa.

Source

network-crawler.lisp.

Function: string-tokens (string &key start max)

Read from STRING repeatedly, starting with START, up to MAX tokens. Return the list of objects read and the final index in STRING. Binds ‘*package*’ to the keyword package,
so that the bare symbols are read as keywords.

Package

lisa.utils.

Source

utils.lisp.

Function: true-p (cf)
Package

lisa.belief.

Source

certainty-factors.lisp.

Function: undefrule (rule-name)
Package

lisa.

Source

language.lisp.

Function: unknown-p (cf)
Package

lisa.belief.

Source

certainty-factors.lisp.

Function: unwatch (event)
Package

lisa.

Source

language.lisp.

Function: use-default-engine ()
Package

lisa.

Source

preamble.lisp.

Function: use-fancy-assert ()
Setf Expander: (setf use-fancy-assert) ()
Package

lisa.

Source

preamble.lisp.

Function: walk (&optional step)
Package

lisa.

Source

language.lisp.

Function: watch (event)
Package

lisa.

Source

language.lisp.

Function: watching ()
Package

lisa.

Source

language.lisp.


6.1.3 Generic functions

Generic Function: adjust-belief (objects rule-belief &optional old-belief)
Package

lisa.belief.

Source

belief.lisp.

Methods
Method: adjust-belief (objects rule-belief &optional old-belief)
Source

certainty-factors.lisp.

Method: adjust-belief (objects (rule-belief number) &optional old-belief)
Source

certainty-factors.lisp.

Generic Function: belief->english (belief-factor)
Package

lisa.belief.

Source

belief.lisp.

Methods
Method: belief->english ((cf number))
Source

certainty-factors.lisp.

Generic Function: belief-factor (obj)
Package

lisa.belief.

Source

belief.lisp.

Methods
Method: belief-factor ((self rule))
Source

belief-interface.lisp.

Method: belief-factor ((self fact))
Source

belief-interface.lisp.

Generic Reader: context-name (object)
Package

lisa.

Methods
Reader Method: context-name ((context context))

automatically generated reader method

Source

context.lisp.

Target Slot

name.

Generic Reader: fact-id (object)
Package

lisa.

Methods
Reader Method: fact-id ((fact fact))

automatically generated reader method

Source

fact.lisp.

Target Slot

id.

Generic Writer: (setf fact-id) (object)
Package

lisa.

Methods
Writer Method: (setf fact-id) ((fact fact))

automatically generated writer method

Source

fact.lisp.

Target Slot

id.

Generic Reader: fact-name (object)
Package

lisa.

Methods
Reader Method: fact-name ((fact fact))

automatically generated reader method

Source

fact.lisp.

Target Slot

name.

Generic Reader: rete-network (object)
Package

lisa.

Methods
Reader Method: rete-network ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

rete-network.

Generic Function: retract (fact-object)
Package

lisa.

Methods
Method: retract (fact-object)
Source

language.lisp.

Method: retract ((fact-object number))
Source

language.lisp.

Method: retract ((fact-object fact))
Source

language.lisp.

Generic Reader: rule-comment (object)
Package

lisa.

Methods
Reader Method: rule-comment ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

comment.

Generic Reader: rule-context (object)
Package

lisa.

Methods
Reader Method: rule-context ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

context.

Generic Reader: rule-name (condition)
Package

lisa.

Methods
Reader Method: rule-name ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

qualified-name.

Reader Method: rule-name ((condition rule-parsing-error))
Source

conditions.lisp.

Target Slot

rule-name.

Generic Reader: rule-salience (object)
Package

lisa.

Methods
Reader Method: rule-salience ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

salience.

Generic Reader: rule-short-name (object)
Package

lisa.

Methods
Reader Method: rule-short-name ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

short-name.

Generic Function: slot-value-of-instance (object slot-name)
Package

lisa.

Source

preamble.lisp.

Methods
Method: slot-value-of-instance (object slot-name)
Source

fact.lisp.

Generic Function: (setf slot-value-of-instance) (object slot-name)
Package

lisa.

Source

preamble.lisp.

Methods
Method: (setf slot-value-of-instance) (object slot-name)
Source

fact.lisp.


6.1.4 Standalone methods

Method: initialize-instance :after ((self fact) &key slots instance)

Initializes a FACT instance. SLOTS is a list of slot name / value pairs, where (FIRST SLOTS) is a symbol and (SECOND SLOT) is the slot’s
value. INSTANCE is the CLOS instance to be associated with this FACT; if INSTANCE is NIL then FACT is associated with a template and a suitable instance must be created; otherwise FACT is bound to a user-defined class.

Source

fact.lisp.

Method: initialize-instance :after ((self rule) &rest initargs)
Source

rule.lisp.

Method: initialize-instance :after ((self rete) &rest initargs)
Source

rete.lisp.

Method: print-object ((self fact) strm)
Source

fact.lisp.

Method: print-object ((self activation) strm)
Source

activation.lisp.

Method: print-object ((self context) strm)
Source

context.lisp.

Method: print-object ((self rule) strm)
Source

rule.lisp.

Method: print-object ((self deffacts) strm)
Source

deffacts.lisp.

Method: print-object ((self join-node) strm)
Source

join-node.lisp.

Method: print-object ((self terminal-node) strm)
Source

terminal-node.lisp.

Method: print-object ((self node1) strm)
Source

node1.lisp.


6.1.5 Conditions

Condition: duplicate-fact
Package

lisa.

Source

conditions.lisp.

Direct superclasses

error.

Direct methods

duplicate-fact-existing-fact.

Direct slots
Slot: existing-fact
Initargs

:existing-fact

Readers

duplicate-fact-existing-fact.

Writers

This slot is read-only.


6.1.6 Classes

Class: activation

Represents a rule activation.

Package

lisa.

Source

activation.lisp.

Direct methods
Direct slots
Slot: rule
Initargs

:rule

Readers

activation-rule.

Writers

This slot is read-only.

Slot: tokens
Initargs

:tokens

Readers

activation-tokens.

Writers

This slot is read-only.

Slot: timestamp
Initform

(incf lisa::*activation-timestamp*)

Readers

activation-timestamp.

Writers

This slot is read-only.

Slot: eligible
Initform

t

Readers

activation-eligible.

Writers

(setf activation-eligible).

Class: context
Package

lisa.

Source

context.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

context-name.

Writers

This slot is read-only.

Slot: rules
Initform

(make-hash-table :test (function equal))

Readers

context-rules.

Writers

This slot is read-only.

Slot: strategy
Initargs

:strategy

Readers

context-strategy.

Writers

This slot is read-only.

Class: deffacts

This class represents ’autoloaded’ facts that are asserted automatically as part of an inference engine reset.

Package

lisa.

Source

deffacts.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

deffacts-name.

Writers

This slot is read-only.

Slot: fact-list
Initargs

:fact-list

Readers

deffacts-fact-list.

Writers

This slot is read-only.

Class: fact

This class represents all facts in the knowledge base.

Package

lisa.

Source

fact.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

fact-name.

Writers

This slot is read-only.

Slot: id
Initform

-1

Readers

fact-id.

Writers

(setf fact-id).

Slot: slot-table
Initform

(make-hash-table :test (function equal))

Readers

fact-slot-table.

Writers

This slot is read-only.

Slot: belief
Initargs

:belief

Readers

belief-factor.

Writers

(setf belief-factor).

Slot: clos-instance
Readers

fact-clos-instance.

Writers

This slot is read-only.

Slot: shadows
Readers

fact-shadowsp.

Writers

This slot is read-only.

Slot: meta-data
Readers

fact-meta-data.

Writers

This slot is read-only.

Class: initial-fact
Package

lisa.

Source

epilogue.lisp.

Direct superclasses

inference-engine-object.

Class: rete
Package

lisa.

Source

rete.lisp.

Direct methods
Direct slots
Slot: fact-table
Initform

(make-hash-table :test (function equalp))

Readers

rete-fact-table.

Writers

(setf rete-fact-table).

Slot: fact-id-table
Initform

(make-hash-table)

Readers

fact-id-table.

Writers

(setf fact-id-table).

Slot: instance-table
Initform

(make-hash-table)

Readers

rete-instance-table.

Writers

This slot is read-only.

Slot: rete-network
Initform

(lisa::make-rete-network)

Readers

rete-network.

Writers

This slot is read-only.

Slot: next-fact-id
Initform

-1

Readers

rete-next-fact-id.

Writers

(setf rete-next-fact-id).

Slot: autofacts
Initform

(list)

Readers

rete-autofacts.

Writers

(setf rete-autofacts).

Slot: meta-data
Initform

(make-hash-table)

Readers

rete-meta-data.

Writers

This slot is read-only.

Slot: dependency-table
Initform

(make-hash-table :test (function equal))

Readers

rete-dependency-table.

Writers

(setf rete-dependency-table).

Slot: contexts
Initform

(make-hash-table :test (function equal))

Readers

rete-contexts.

Writers

This slot is read-only.

Slot: focus-stack
Initform

(list)

Readers

rete-focus-stack.

Writers

(setf rete-focus-stack).

Slot: halted
Readers

rete-halted.

Writers

(setf rete-halted).

Slot: firing-count
Initform

0

Readers

rete-firing-count.

Writers

(setf rete-firing-count).

Class: rete-network
Package

lisa.

Source

rete-compiler.lisp.

Direct methods
Direct slots
Slot: root-nodes
Initform

(make-hash-table)

Initargs

:root-nodes

Readers

rete-roots.

Writers

This slot is read-only.

Slot: node-test-cache
Initform

(make-hash-table :test (function equal))

Initargs

:node-test-cache

Readers

node-test-cache.

Writers

This slot is read-only.

Class: rule

Represents production rules after they’ve been analysed by the language parser.

Package

lisa.

Source

rule.lisp.

Direct methods
Direct slots
Slot: short-name
Initargs

:short-name

Readers

rule-short-name.

Writers

This slot is read-only.

Slot: qualified-name
Readers

rule-name.

Writers

This slot is read-only.

Slot: comment
Initargs

:comment

Readers

rule-comment.

Writers

This slot is read-only.

Slot: salience
Initform

0

Initargs

:salience

Readers

rule-salience.

Writers

This slot is read-only.

Slot: context
Initargs

:context

Readers

rule-context.

Writers

This slot is read-only.

Slot: auto-focus
Initargs

:auto-focus

Readers

rule-auto-focus.

Writers

This slot is read-only.

Slot: behavior
Initargs

:behavior

Readers

rule-behavior.

Writers

(setf rule-behavior).

Slot: binding-set
Initargs

:binding-set

Readers

rule-binding-set.

Writers

This slot is read-only.

Slot: node-list
Readers

rule-node-list.

Writers

This slot is read-only.

Slot: activations
Initform

(make-hash-table :test (function equal))

Readers

rule-activations.

Writers

(setf rule-activations).

Slot: patterns
Initform

(list)

Initargs

:patterns

Readers

rule-patterns.

Writers

This slot is read-only.

Slot: actions
Initargs

:actions

Readers

rule-actions.

Writers

This slot is read-only.

Slot: logical-marker
Initargs

:logical-marker

Readers

rule-logical-marker.

Writers

This slot is read-only.

Slot: belief-factor
Initargs

:belief

Readers

belief-factor.

Writers

This slot is read-only.

Slot: active-dependencies
Initform

(make-hash-table :test (function equal))

Readers

rule-active-dependencies.

Writers

This slot is read-only.

Slot: engine
Initargs

:engine

Readers

rule-engine.

Writers

This slot is read-only.

Class: token
Package

lisa.

Source

token.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: facts
Initform

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

Readers

token-facts.

Writers

(setf token-facts).

Slot: not-counter
Initform

0

Readers

token-not-counter.

Writers

(setf token-not-counter).

Slot: exists-counter
Initform

0

Readers

token-exists-counter.

Writers

(setf token-exists-counter).

Slot: hash-code
Initform

(list)

Readers

token-hash-code.

Writers

(setf token-hash-code).

Slot: contents
Readers

token-contents.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Constants

Constant: *rule-separator*
Package

lisa.

Source

rule-parser.lisp.

Constant: +false+
Package

lisa.belief.

Source

certainty-factors.lisp.

Constant: +true+
Package

lisa.belief.

Source

certainty-factors.lisp.

Constant: +unknown+
Package

lisa.belief.

Source

certainty-factors.lisp.


6.2.2 Special variables

Special Variable: *activation-timestamp*
Package

lisa.

Source

activation.lisp.

Special Variable: *active-context*
Package

lisa.

Source

preamble.lisp.

Special Variable: *active-engine*
Package

lisa.

Source

preamble.lisp.

Special Variable: *active-rule*
Package

lisa.

Source

preamble.lisp.

Special Variable: *active-tokens*
Package

lisa.

Source

preamble.lisp.

Special Variable: *allow-duplicate-facts*
Package

lisa.

Source

preamble.lisp.

Special Variable: *assert-fact*
Package

lisa.

Source

watches.lisp.

Special Variable: *binding-table*
Package

lisa.

Source

rule-parser.lisp.

Special Variable: *clear-handlers*
Package

lisa.

Source

preamble.lisp.

Special Variable: *conditional-elements-table*
Package

lisa.

Source

rule-parser.lisp.

Special Variable: *consider-taxonomy-when-reasoning*
Package

lisa.

Source

preamble.lisp.

Special Variable: *current-defrule*
Package

lisa.

Source

rule-parser.lisp.

Special Variable: *current-defrule-pattern-location*
Package

lisa.

Source

rule-parser.lisp.

Special Variable: *disable-activation*
Package

lisa.

Source

watches.lisp.

Special Variable: *enable-activation*
Package

lisa.

Source

watches.lisp.

Special Variable: *fire-rule*
Package

lisa.

Source

watches.lisp.

Special Variable: *heap*
Package

lisa.heap.

Source

heap.lisp.

Special Variable: *ignore-this-instance*
Package

lisa.

Source

preamble.lisp.

Special Variable: *in-logical-pattern-p*
Package

lisa.

Source

rule-parser.lisp.

Special Variable: *leaf-nodes*
Package

lisa.

Source

rete-compiler.lisp.

Special Variable: *lisa-root-pathname*
Package

lisa-system.

Source

lisa.asd.

Special Variable: *logical-block-marker*
Package

lisa.

Source

rete-compiler.lisp.

Special Variable: *node-set*
Package

lisa.

Source

network-ops.lisp.

Special Variable: *node-test-table*
Package

lisa.

Source

node-tests.lisp.

Special Variable: *query-result*

Holds the results of query firings.

Package

lisa.

Source

retrieve.lisp.

Special Variable: *retract-fact*
Package

lisa.

Source

watches.lisp.

Special Variable: *root-nodes*
Package

lisa.

Source

rete-compiler.lisp.

Special Variable: *rule-specific-nodes*
Package

lisa.

Source

rete-compiler.lisp.

Special Variable: *scheduled-dependencies*
Package

lisa.

Source

tms-support.lisp.

Special Variable: *special-initial-elements*
Package

lisa.

Source

rule-parser.lisp.

Special Variable: *use-fancy-assert*
Package

lisa.

Source

preamble.lisp.

Special Variable: *watches*
Package

lisa.

Source

watches.lisp.

Special Variable: +eof+

*The end-of-file object.
To be passed as the third arg to ‘read’ and checked against using ‘eq’.

Package

lisa.utils.

Source

utils.lisp.


6.2.3 Symbol macros

Symbol Macro: scheduled-dependencies
Package

lisa.

Source

tms-support.lisp.


6.2.4 Macros

Macro: compile-function (forms)

Build and compile an anonymous function, using the body provided in FORMS.

Package

lisa.

Source

compose.lisp.

Macro: constraintp (constraint)
Package

lisa.

Source

preamble.lisp.

Macro: defconst (name type init doc)

Define a typed constant.

Package

lisa.utils.

Source

utils.lisp.

Macro: defcustom (name type init doc)

Define a typed global variable.

Package

lisa.utils.

Source

utils.lisp.

Macro: define-lisa-lisp ()
Package

lisa.

Source

epilogue.lisp.

Macro: defquery (name &body body)

Defines a new query identified by the symbol NAME.

Package

lisa.

Source

retrieve.lisp.

Macro: defsubst (name arglist &body body)

Declare an inline defun.

Package

lisa.utils.

Source

utils.lisp.

Macro: ensure-fact-is-unique (rete fact)
Package

lisa.

Source

rete.lisp.

Macro: literalp (sym)
Package

lisa.

Source

preamble.lisp.

Macro: mk-arr (type init &optional len)

Make array with elements of TYPE, initializing.

Package

lisa.utils.

Source

utils.lisp.

Macro: multifieldp (val)
Package

lisa.

Source

preamble.lisp.

Macro: quotablep (obj)
Package

lisa.

Source

preamble.lisp.

Macro: register-clear-handler (tag func)
Package

lisa.

Source

preamble.lisp.

Macro: slot-valuep (val)
Package

lisa.

Source

preamble.lisp.

Macro: starts-with-? (sym)
Package

lisa.

Source

preamble.lisp.

Macro: trace-assert (fact)
Package

lisa.

Source

watches.lisp.

Macro: trace-disable-activation (activation)
Package

lisa.

Source

watches.lisp.

Macro: trace-enable-activation (activation)
Package

lisa.

Source

watches.lisp.

Macro: trace-firing (activation)
Package

lisa.

Source

watches.lisp.

Macro: trace-retract (fact)
Package

lisa.

Source

watches.lisp.

Macro: variablep (sym)
Package

lisa.

Source

preamble.lisp.

Macro: with-auto-notify ((var instance) &body body)
Package

lisa.

Source

preamble.lisp.

Macro: with-context (context &body body)
Package

lisa.

Source

context.lisp.

Macro: with-gensyms (syms &body body)

Bind symbols to gensyms. First sym is a string - ‘gensym’ prefix. Inspired by Paul Graham, <On Lisp>, p. 145.

Package

lisa.utils.

Source

utils.lisp.

Macro: with-rule-components (((doc-string lhs rhs) rule-form) &body body)
Package

lisa.

Source

rule-parser.lisp.

Macro: with-rule-name-parts ((context short-name long-name) symbolic-name &body body)
Package

lisa.

Source

context.lisp.

Macro: with-slot-components ((slot-name slot-value constraint) form &body body)
Package

lisa.

Source

rule-parser.lisp.

Macro: with-truth-maintenance ((rete) &body body)
Package

lisa.

Source

tms-support.lisp.

Macro: with-unique-fact ((rete fact) &body body)
Package

lisa.

Source

rete.lisp.


6.2.5 Ordinary functions

Function: %make-binding (&key variable address slot-name)
Package

lisa.

Source

binding.lisp.

Function: acquire-meta-data (actual-name)
Package

lisa.

Source

meta.lisp.

Function: activation-fact-list (activation &key detailp)
Package

lisa.

Source

activation.lisp.

Function: active-context ()
Package

lisa.

Source

preamble.lisp.

Function: active-engine ()
Package

lisa.

Source

preamble.lisp.

Function: active-tokens ()
Package

lisa.

Source

preamble.lisp.

Function: add-autofact (rete deffact)
Package

lisa.

Source

rete.lisp.

Function: add-fact-to-network (rete-network fact)
Package

lisa.

Source

network-ops.lisp.

Function: add-inter-pattern-nodes (patterns)

The beta memory nodes and tests

Package

lisa.

Source

rete-compiler.lisp.

Function: add-intra-pattern-nodes (patterns)

The alpha memory nodes and tests

Package

lisa.

Source

rete-compiler.lisp.

Function: add-join-node-tests (join-node pattern)
Package

lisa.

Source

rete-compiler.lisp.

Function: add-logical-dependency (rete fact dependency-set)
Package

lisa.

Source

tms-support.lisp.

Function: add-rule-to-context (context rule)
Package

lisa.

Source

context.lisp.

Function: add-rule-to-network (rete rule patterns)
Package

lisa.

Source

rete.lisp.

Function: add-terminal-node (rule)
Package

lisa.

Source

rete-compiler.lisp.

Function: add-token-to-network (rete-network token-ctor)
Package

lisa.

Source

network-ops.lisp.

Function: add-token-to-right-memory (join-node token)
Package

lisa.

Source

join-node.lisp.

Function: add-tokens-to-left-memory (join-node tokens)
Package

lisa.

Source

join-node.lisp.

Function: assert-autofacts (rete)
Package

lisa.

Source

rete.lisp.

Function: attach-rule-nodes (rule nodes)
Package

lisa.

Source

rule.lisp.

Function: bind-logical-dependencies (fact)
Package

lisa.

Source

fact-parser.lisp.

Function: bind-rule-activation (rule activation tokens)
Package

lisa.

Source

rule.lisp.

Function: binding-address (structure)
Package

lisa.

Source

binding.lisp.

Function: (setf binding-address) (structure)
Package

lisa.

Source

binding.lisp.

Function: binding-slot-name (structure)
Package

lisa.

Source

binding.lisp.

Function: (setf binding-slot-name) (structure)
Package

lisa.

Source

binding.lisp.

Function: binding-variable (structure)
Package

lisa.

Source

binding.lisp.

Function: (setf binding-variable) (structure)
Package

lisa.

Source

binding.lisp.

Function: bound-pattern-p (parsed-pattern)
Package

lisa.

Source

pattern.lisp.

Function: build-lambda-expression (forms)
Package

lisa.

Source

compose.lisp.

Function: call-successor (successor &rest args)
Package

lisa.

Source

successor.lisp.

Function: certainty-factor-p (number)
Package

lisa.belief.

Source

certainty-factors.lisp.

Function: cf->english (cf)
Package

lisa.belief.

Source

certainty-factors.lisp.

Function: cf-combine (a b)
Package

lisa.belief.

Source

certainty-factors.lisp.

Function: class-slot-initargs (class &optional all)

Return the list of initargs of a CLASS.
CLASS can be a symbol, a class object (as returned by ‘class-of’) or an instance of a class.
If the second optional argument ALL is non-NIL (default), initargs for all slots are returned, otherwise only the slots with :allocation type :instance are returned.

Package

lisa.reflect.

Source

reflect.lisp.

Function: clear-activation-bindings (rule)
Package

lisa.

Source

rule.lisp.

Function: clear-activations (context)
Package

lisa.

Source

context.lisp.

Function: clear-context (context)
Package

lisa.

Source

context.lisp.

Function: clear-contexts (rete)
Package

lisa.

Source

rete.lisp.

Function: clear-environment-handlers ()
Package

lisa.

Source

preamble.lisp.

Function: clear-focus-stack (rete)
Package

lisa.

Source

rete.lisp.

Function: clear-node-test-table ()
Package

lisa.

Source

node-tests.lisp.

Function: clear-system-environment ()
Package

lisa.

Source

preamble.lisp.

Function: collect-bindings (forms &key errorp)
Package

lisa.

Source

rule-parser.lisp.

Function: collect-constraint-bindings (constraint)
Package

lisa.

Source

rule-parser.lisp.

Function: compile-rule (rule patterns actions)
Package

lisa.

Source

rule.lisp.

Function: compile-rule-behavior (rule actions)
Package

lisa.

Source

rule.lisp.

Function: compile-rule-into-network (rete-network patterns rule)
Package

lisa.

Source

rete-compiler.lisp.

Function: compound-pattern-p (parsed-pattern)
Package

lisa.

Source

pattern.lisp.

Function: conjunct-cf (objects)

Combines the certainty factors of objects matched within a single rule.

Package

lisa.belief.

Source

certainty-factors.lisp.

Function: constrained-slot-p (pattern-slot)
Package

lisa.

Source

pattern.lisp.

Function: context-activation-list (context)
Package

lisa.

Source

context.lisp.

Function: context-rule-list (context)
Package

lisa.

Source

context.lisp.

Function: copy-binding (sequence)

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

lisa.

Alias for

copy-seq.

Function: copy-fact-meta-object (instance)
Package

lisa.

Source

rete.lisp.

Function: copy-heap (instance)
Package

lisa.heap.

Source

heap.lisp.

Function: copy-network (engine)
Package

lisa.

Source

rete.lisp.

Function: copy-node-test-table (src)
Package

lisa.

Source

rete-compiler.lisp.

Function: copy-parsed-pattern (instance)
Package

lisa.

Source

pattern.lisp.

Function: copy-pattern-slot (instance)
Package

lisa.

Source

pattern.lisp.

Function: copy-rule (rule engine)
Package

lisa.

Source

rule.lisp.

Function: copy-rule-actions (instance)
Package

lisa.

Source

pattern.lisp.

Function: create-template-class-slots (class-name slot-list)
Package

lisa.

Source

fact-parser.lisp.

Function: current-context (rete)
Package

lisa.

Source

rete.lisp.

Function: default-search-predicate (heap obj)
Package

lisa.heap.

Source

heap.lisp.

Function: define-rule (name body &key salience context auto-focus belief)
Package

lisa.

Source

rule-parser.lisp.

Function: distribute-token (rete-network token)
Package

lisa.

Source

rete-compiler.lisp.

Function: duplicate-fact-p (rete fact)
Package

lisa.

Source

rete.lisp.

Function: eligible-p (activation)
Package

lisa.

Source

activation.lisp.

Function: ensure-meta-data-exists (class-name)
Package

lisa.

Source

meta.lisp.

Function: enter-join-network-from-left (node2 tokens)
Package

lisa.

Source

rete-compiler.lisp.

Function: enter-join-network-from-right (node2 token)
Package

lisa.

Source

rete-compiler.lisp.

Function: eof-p (stream)

Return T if the stream has no more data in it.

Package

lisa.utils.

Source

utils.lisp.

Function: existential-pattern-p (pattern)
Package

lisa.

Source

pattern.lisp.

Function: expand-slots (body)
Package

lisa.

Source

language.lisp.

Function: extract-rule-headers (body)
Package

lisa.

Source

rule-parser.lisp.

Reader: fact-meta-object-class-name (instance)
Writer: (setf fact-meta-object-class-name) (instance)
Package

lisa.

Source

rete.lisp.

Target Slot

class-name.

Function: fact-meta-object-p (object)
Package

lisa.

Source

rete.lisp.

Reader: fact-meta-object-slot-list (instance)
Writer: (setf fact-meta-object-slot-list) (instance)
Package

lisa.

Source

rete.lisp.

Target Slot

slot-list.

Reader: fact-meta-object-superclasses (instance)
Writer: (setf fact-meta-object-superclasses) (instance)
Package

lisa.

Source

rete.lisp.

Target Slot

superclasses.

Function: fact-symbolic-id (fact)
Package

lisa.

Source

fact.lisp.

Function: find-activation-binding (rule tokens)
Package

lisa.

Source

rule.lisp.

Function: find-any-logical-boundaries (patterns)
Package

lisa.

Source

rule.lisp.

Function: find-conditional-element-parser (symbol)
Package

lisa.

Source

rule-parser.lisp.

Function: find-fact-using-instance (rete instance)
Package

lisa.

Source

rete.lisp.

Function: find-instance-of-fact (fact)

Retrieves the CLOS instance associated with a fact. FACT is a FACT instance.

Package

lisa.

Source

fact.lisp.

Function: find-logical-dependencies (rete dependency-set)
Package

lisa.

Source

tms-support.lisp.

Function: find-meta-fact (symbolic-name &optional errorp)

Locates the META-FACT instance associated with SYMBOLIC-NAME. If ERRORP is non-nil, signals an error if no binding is found.

Package

lisa.

Source

meta.lisp.

Function: find-meta-object (rete symbolic-name)
Package

lisa.

Source

rete.lisp.

Function: find-or-set-slot-binding (var slot-name location)

Given a variable, either retrieve the binding object for it or create a new one.

Package

lisa.

Source

rule-parser.lisp.

Function: find-slot-binding (var &key errorp)

Given a variable, retrieve the binding object for it.

Package

lisa.

Source

rule-parser.lisp.

Function: find-test (key constructor)
Package

lisa.

Source

node-tests.lisp.

Function: fixup-runtime-bindings (patterns)

Supports the parsing of embedded DEFRULE forms.

Package

lisa.

Source

rule-parser.lisp.

Function: forget-all-facts (rete)
Package

lisa.

Source

rete.lisp.

Function: forget-clos-instance (rete instance)
Package

lisa.

Source

rete.lisp.

Function: forget-clos-instances (rete)
Package

lisa.

Source

rete.lisp.

Function: forget-context (rete context-name)
Package

lisa.

Source

rete.lisp.

Function: forget-fact (rete fact)
Package

lisa.

Source

rete.lisp.

Function: forget-token (memory token)
Package

lisa.

Source

join-node.lisp.

Function: gc ()

Invoke the garbage collector.

Package

lisa.utils.

Source

utils.lisp.

Function: generic-pattern-p (pattern)
Package

lisa.

Source

pattern.lisp.

Function: get-activation-list (rete &optional context-name)
Package

lisa.

Source

rete.lisp.

Function: get-class-name (meta-object)
Package

lisa.

Source

meta.lisp.

Function: get-fact-list (rete)
Package

lisa.

Source

rete.lisp.

Function: get-rule-list (rete &optional context-name)
Package

lisa.

Source

rete.lisp.

Function: get-slot-list (meta-object)
Package

lisa.

Source

meta.lisp.

Function: get-slot-values (fact)

Returns a list of slot name / value pairs for every slot in a fact. FACT is a fact instance.

Package

lisa.

Source

fact.lisp.

Function: get-superclasses (meta-object)
Package

lisa.

Source

meta.lisp.

Function: halt-engine (rete)
Package

lisa.

Source

rete.lisp.

Function: has-superclass (fact symbolic-name)
Package

lisa.

Source

fact.lisp.

Reader: heap-a (instance)
Writer: (setf heap-a) (instance)
Package

lisa.heap.

Source

heap.lisp.

Target Slot

a.

Function: heap-find-idx (heap fnp)

Return the index of the element which satisfies the predicate FNP. If there is no such element, return the fill pointer of HEAP’s array A.

Package

lisa.heap.

Source

heap.lisp.

Function: heap-init (heap less-fn &key order initial-contents)

Initialize the indicated heap. If INITIAL-CONTENTS is a non-empty list, the heap’s contents are intiailized to the values in that list; they are ordered according to LESS-FN. INITIAL-CONTENTS must be a list or NIL.

Package

lisa.heap.

Source

heap.lisp.

Reader: heap-less-fn (instance)
Writer: (setf heap-less-fn) (instance)
Package

lisa.heap.

Source

heap.lisp.

Target Slot

less-fn.

Reader: heap-max-count (instance)
Writer: (setf heap-max-count) (instance)
Package

lisa.heap.

Source

heap.lisp.

Target Slot

max-count.

Reader: heap-order (instance)
Writer: (setf heap-order) (instance)
Package

lisa.heap.

Source

heap.lisp.

Target Slot

order.

Function: heap-p (object)
Package

lisa.heap.

Source

heap.lisp.

Function: import-class-specification (class-name)
Package

lisa.

Source

meta.lisp.

Function: inactive-p (activation)
Package

lisa.

Source

activation.lisp.

Function: initial-context (rete)
Package

lisa.

Source

rete.lisp.

Function: initial-context-p (context)
Package

lisa.

Source

context.lisp.

Function: initialize-fact-from-instance (fact instance meta-data)

Initializes a fact associated with a user-created CLOS instance. The fact’s slot values are taken from the CLOS instance. FACT is a FACT instance; INSTANCE is the CLOS instance associated with this fact.

Package

lisa.

Source

fact.lisp.

Function: initialize-fact-from-template (fact slots meta-data)

Initializes a template-bound FACT. An instance of the FACT’s associated class is created and the slots of both are synchronized from the SLOTS list. FACT is a FACT instance; SLOTS is a list of symbol/value pairs.

Package

lisa.

Source

fact.lisp.

Function: initialize-slot-value (fact slot-name value)

Sets the value of a slot in a fact’s slot table. FACT is a FACT instance; SLOT-NAME is a symbol; VALUE is the slot’s new value.

Package

lisa.

Source

fact.lisp.

Function: intra-pattern-bindings-p (bindings location)

Is every variable in a pattern ’local’; i.e. does not reference a binding in a previous pattern?

Package

lisa.

Source

rule-parser.lisp.

Function: intra-pattern-slot-p (pattern-slot)
Package

lisa.

Source

pattern.lisp.

Function: is-standard-classp (class)
Package

lisa.reflect.

Source

reflect.lisp.

Function: leaf-node ()
Package

lisa.

Source

rete-compiler.lisp.

Function: left-input (address)
Package

lisa.

Source

rete-compiler.lisp.

Function: left-memory-count (join-node)
Package

lisa.

Source

join-node.lisp.

Function: lesser-child (heap parent)

Return the index of the lesser child. If there’s one child, return its index. If there are no children, return (FILL-POINTER (HEAP-A HEAP)).

Package

lisa.heap.

Source

heap.lisp.

Function: lisa-debugger ()
Package

lisa-system.

Source

lisa.asd.

Function: logical-block-marker ()
Package

lisa.

Source

rete-compiler.lisp.

Function: logical-block-p (join-node)
Package

lisa.

Source

join-node.lisp.

Function: logical-element-p (pattern)
Package

lisa.

Source

rule-parser.lisp.

Function: logical-pattern-p (parsed-pattern)
Package

lisa.

Source

pattern.lisp.

Function: logical-rule-p (rule)
Package

lisa.

Source

rule.lisp.

Function: make-activation (rule tokens)
Package

lisa.

Source

activation.lisp.

Function: make-behavior (function bindings)
Package

lisa.

Source

node-tests.lisp.

Function: make-binding (var address slot-name)
Package

lisa.

Source

binding.lisp.

Function: make-binding-set ()
Package

lisa.

Source

rule-parser.lisp.

Function: make-breadth-first-strategy ()
Package

lisa.

Source

conflict-resolution-strategies.lisp.

Function: make-class-test (class)
Package

lisa.

Source

node-tests.lisp.

Function: make-context (name &key strategy)
Package

lisa.

Source

context.lisp.

Function: make-context-name (defined-name)
Package

lisa.

Source

context.lisp.

Function: make-default-inference-engine ()
Package

lisa.

Source

preamble.lisp.

Function: make-deffacts (name facts)
Package

lisa.

Source

deffacts.lisp.

Function: make-dependency-set (tokens marker)
Package

lisa.

Source

tms-support.lisp.

Function: make-depth-first-strategy ()
Package

lisa.

Source

conflict-resolution-strategies.lisp.

Function: make-fact (name &rest slots)

The default constructor for class FACT. NAME is the symbolic fact name as used in rules; SLOTS is a list of symbol/value pairs.

Package

lisa.

Source

fact.lisp.

Function: make-fact-from-instance (name clos-instance)

A constructor for class FACT that creates an instance bound to a user-defined CLOS instance. NAME is the symbolic fact name; CLOS-INSTANCE is a user-supplied CLOS object.

Package

lisa.

Source

fact.lisp.

Function: make-fact-from-template (fact)

Creates a FACT instance using another FACT instance as a
template. Basically a clone operation useful for such things as asserting DEFFACTS.

Package

lisa.

Source

fact.lisp.

Function: make-fact-meta-object (&key class-name slot-list superclasses)
Package

lisa.

Source

rete.lisp.

Function: make-heap (&key less-fn order a max-count)
Package

lisa.heap.

Source

heap.lisp.

Function: make-inter-pattern-test (slot)
Package

lisa.

Source

node-tests.lisp.

Function: make-intra-pattern-constraint-test (slot)
Package

lisa.

Source

node-tests.lisp.

Function: make-intra-pattern-node (slot)
Package

lisa.

Source

rete-compiler.lisp.

Function: make-intra-pattern-predicate (forms bindings negated-p)
Package

lisa.

Source

node-tests.lisp.

Function: make-intra-pattern-test (slot)
Package

lisa.

Source

node-tests.lisp.

Function: make-join-node (pattern)
Package

lisa.

Source

rete-compiler.lisp.

Function: make-left-join-connection (join-node node)
Package

lisa.

Source

rete-compiler.lisp.

Function: make-lisa-path (relative-path)
Package

lisa-system.

Source

lisa.asd.

Function: make-node-pair (child parent)
Package

lisa.

Source

node-pair.lisp.

Function: make-node1 (test)
Package

lisa.

Source

node1.lisp.

Function: make-node2 ()
Package

lisa.

Source

node2.lisp.

Function: make-node2-exists ()
Package

lisa.

Source

node2-exists.lisp.

Function: make-node2-not ()
Package

lisa.

Source

node2-not.lisp.

Function: make-node2-test ()
Package

lisa.

Source

node2-test.lisp.

Function: make-parsed-pattern (&key class slots address pattern-binding test-bindings binding-set logical sub-patterns type)
Package

lisa.

Source

pattern.lisp.

Function: make-pattern-slot (&key name value slot-binding negated intra-pattern-bindings constraint constraint-bindings)
Package

lisa.

Source

pattern.lisp.

Function: make-predicate-test (forms bindings &optional negated-p)
Package

lisa.

Source

node-tests.lisp.

Function: make-query-engine (source-rete)
Package

lisa.

Source

rete.lisp.

Function: make-rete ()
Package

lisa.

Source

rete.lisp.

Function: make-right-join-connection (join-node node)
Package

lisa.

Source

rete-compiler.lisp.

Function: make-root-node (class)
Package

lisa.

Source

rete-compiler.lisp.

Function: make-rule (name engine patterns actions &key doc-string salience context auto-focus belief compiled-behavior)
Package

lisa.

Source

rule.lisp.

Function: make-rule-actions (&key bindings actions)
Package

lisa.

Source

pattern.lisp.

Function: make-simple-slot-test (slot)
Package

lisa.

Source

node-tests.lisp.

Function: make-simple-slot-test-aux (slot-name value negated-p)
Package

lisa.

Source

node-tests.lisp.

Function: make-successor (node connector)
Package

lisa.

Source

successor.lisp.

Function: make-terminal-node (rule)
Package

lisa.

Source

terminal-node.lisp.

Function: mark-as-logical-block (join-node marker)
Package

lisa.

Source

join-node.lisp.

Function: merge-networks (from-rete to-rete)
Package

lisa.

Source

network-ops.lisp.

Function: merge-rule-into-network (to-network patterns rule &key loader)
Package

lisa.

Source

rete-compiler.lisp.

Function: negated-pattern-p (pattern)
Package

lisa.

Source

pattern.lisp.

Function: negated-slot-p (pattern-slot)
Package

lisa.

Source

pattern.lisp.

Function: next-context (rete)
Package

lisa.

Source

rete.lisp.

Function: next-fact-id (rete)
Package

lisa.

Source

rete.lisp.

Function: node-pair-child (node-pair)
Package

lisa.

Source

node-pair.lisp.

Function: node-pair-parent (node-pair)
Package

lisa.

Source

node-pair.lisp.

Function: parse-and-insert-deffacts (name body)
Package

lisa.

Source

fact-parser.lisp.

Function: parse-and-insert-instance (instance &key belief)
Package

lisa.

Source

fact-parser.lisp.

Function: parse-and-retract-instance (instance engine)
Package

lisa.

Source

fact-parser.lisp.

Function: parse-exists-pattern (pattern location)
Package

lisa.

Source

rule-parser.lisp.

Function: parse-generic-pattern (pattern location &optional pattern-binding)
Package

lisa.

Source

rule-parser.lisp.

Function: parse-not-pattern (pattern location)
Package

lisa.

Source

rule-parser.lisp.

Function: parse-one-slot (form location)

Parses a single raw pattern slot

Package

lisa.

Source

rule-parser.lisp.

Function: parse-one-slot-constraint (var constraint-form)

Parses a single slot constraint, eg. (slot-name ?var 1) or (slot-name ?var (equal ?var 1))

Package

lisa.

Source

rule-parser.lisp.

Function: parse-rule-body (body)
Package

lisa.

Source

rule-parser.lisp.

Function: parse-test-pattern (pattern location)
Package

lisa.

Source

rule-parser.lisp.

Reader: parsed-pattern-address (instance)
Writer: (setf parsed-pattern-address) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

address.

Reader: parsed-pattern-binding-set (instance)
Writer: (setf parsed-pattern-binding-set) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

binding-set.

Reader: parsed-pattern-class (instance)
Writer: (setf parsed-pattern-class) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

class.

Reader: parsed-pattern-logical (instance)
Writer: (setf parsed-pattern-logical) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

logical.

Function: parsed-pattern-p (object)
Package

lisa.

Source

pattern.lisp.

Reader: parsed-pattern-pattern-binding (instance)
Writer: (setf parsed-pattern-pattern-binding) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

pattern-binding.

Reader: parsed-pattern-slots (instance)
Writer: (setf parsed-pattern-slots) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

slots.

Reader: parsed-pattern-sub-patterns (instance)
Writer: (setf parsed-pattern-sub-patterns) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

sub-patterns.

Reader: parsed-pattern-test-bindings (instance)
Writer: (setf parsed-pattern-test-bindings) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

test-bindings.

Function: parsed-pattern-test-forms (pattern)
Package

lisa.

Source

pattern.lisp.

Reader: parsed-pattern-type (instance)
Writer: (setf parsed-pattern-type) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

type.

Function: pass-token (node token)
Package

lisa.

Source

rete-compiler.lisp.

Function: pass-token-on-right (node2 token)
Package

lisa.

Source

rete-compiler.lisp.

Function: pass-tokens-on-left (node2 tokens)
Package

lisa.

Source

rete-compiler.lisp.

Function: pattern-binding-p (binding)
Package

lisa.

Source

binding.lisp.

Reader: pattern-slot-constraint (instance)
Writer: (setf pattern-slot-constraint) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

constraint.

Reader: pattern-slot-constraint-bindings (instance)
Writer: (setf pattern-slot-constraint-bindings) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

constraint-bindings.

Reader: pattern-slot-intra-pattern-bindings (instance)
Writer: (setf pattern-slot-intra-pattern-bindings) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

intra-pattern-bindings.

Reader: pattern-slot-name (instance)
Writer: (setf pattern-slot-name) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

name.

Reader: pattern-slot-negated (instance)
Writer: (setf pattern-slot-negated) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

negated.

Function: pattern-slot-p (object)
Package

lisa.

Source

pattern.lisp.

Reader: pattern-slot-slot-binding (instance)
Writer: (setf pattern-slot-slot-binding) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

slot-binding.

Reader: pattern-slot-value (instance)
Writer: (setf pattern-slot-value) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

value.

Function: percolate-down (heap hole x)

Private. Move the HOLE down until it’s in a location suitable for X. Return the new index of the hole.

Package

lisa.heap.

Source

heap.lisp.

Function: percolate-up (heap hole x)

Private. Moves the HOLE until it’s in a location suitable for holding X. Does not actually bind X to the HOLE. Returns the new
index of the HOLE. The hole itself percolates down; it’s the X that percolates up.

Package

lisa.heap.

Source

heap.lisp.

Function: pop-context (rete)
Package

lisa.

Source

rete.lisp.

Function: preprocess-left-side (lhs)
Package

lisa.

Source

rule-parser.lisp.

Function: push-context (rete context)
Package

lisa.

Source

rete.lisp.

Function: quit (&optional code)
Package

lisa.utils.

Source

utils.lisp.

Function: reconstruct-fact (fact)
Package

lisa.

Source

fact.lisp.

Function: record-node (node parent)
Package

lisa.

Source

rete-compiler.lisp.

Function: redefine-defrule (name body &key salience context belief auto-focus)
Package

lisa.

Source

rule-parser.lisp.

Function: redefine-deftemplate (class-name body)
Package

lisa.

Source

fact-parser.lisp.

Function: register-clos-instance (rete instance fact)
Package

lisa.

Source

rete.lisp.

Function: register-meta-object (rete key meta-object)
Package

lisa.

Source

rete.lisp.

Function: register-new-context (rete context)
Package

lisa.

Source

rete.lisp.

Function: remember-fact (rete fact)
Package

lisa.

Source

rete.lisp.

Function: remember-token (memory token)
Package

lisa.

Source

join-node.lisp.

Function: remove-autofacts (rete)
Package

lisa.

Source

rete.lisp.

Function: remove-fact-from-network (rete-network fact)
Package

lisa.

Source

network-ops.lisp.

Function: remove-rule-from-network (rete-network rule)
Package

lisa.

Source

network-ops.lisp.

Function: remove-token-from-right-memory (join-node token)
Package

lisa.

Source

join-node.lisp.

Function: remove-tokens-from-left-memory (join-node tokens)
Package

lisa.

Source

join-node.lisp.

Function: replicate-token (token &key token-class)
Package

lisa.

Source

token.lisp.

Function: required-argument ()

A useful default for required arguments and DEFSTRUCT slots.

Package

lisa.utils.

Source

utils.lisp.

Function: reset-focus-stack (rete)
Package

lisa.

Source

rete.lisp.

Function: reset-network (rete-network)
Package

lisa.

Source

network-ops.lisp.

Function: rete-fact-count (rete)
Package

lisa.

Source

rete.lisp.

Function: retrieve-contexts (rete)
Package

lisa.

Source

rete.lisp.

Function: right-input (address)
Package

lisa.

Source

rete-compiler.lisp.

Function: right-memory-count (join-node)
Package

lisa.

Source

join-node.lisp.

Reader: rule-actions-actions (instance)
Writer: (setf rule-actions-actions) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

actions.

Reader: rule-actions-bindings (instance)
Writer: (setf rule-actions-bindings) (instance)
Package

lisa.

Source

pattern.lisp.

Target Slot

bindings.

Function: rule-actions-p (object)
Package

lisa.

Source

pattern.lisp.

Function: run-query (query-rule)

Runs a query (RULE instance), and returns both the value of *QUERY-RESULT* and the query name itself.

Package

lisa.

Source

retrieve.lisp.

Function: schedule-dependency-removal (dependency-set)
Package

lisa.

Source

tms-support.lisp.

Function: set-initial-state (rete)
Package

lisa.

Source

rete.lisp.

Function: set-leaf-node (node address)
Package

lisa.

Source

rete-compiler.lisp.

Function: set-pattern-binding (var location)
Package

lisa.

Source

rule-parser.lisp.

Function: set-slot-from-instance (fact instance slot-name)

Assigns to a slot the value from the corresponding slot in the fact’s CLOS instance. FACT is a FACT instance; META-FACT is a META-FACT instance; INSTANCE is the fact’s CLOS instance; SLOT-NAME is a symbol representing the affected slot.

Package

lisa.

Source

fact.lisp.

Function: set-slot-value (fact slot-name value)

Assigns a new value to a slot in a fact and its associated CLOS instance. SLOT-NAME is a symbol; VALUE is the new value for the slot.

Package

lisa.

Source

fact.lisp.

Function: shared-node-all-successors (shared-node)
Package

lisa.

Source

shared-node.lisp.

Function: shared-node-successor-nodes (shared-node)
Package

lisa.

Source

shared-node.lisp.

Function: show-deffacts (deffact)
Package

lisa.

Source

fact-parser.lisp.

Function: simple-bound-slot-p (pattern-slot)
Package

lisa.

Source

pattern.lisp.

Function: simple-slot-p (pattern-slot)
Package

lisa.

Source

pattern.lisp.

Function: slot-value-is-atom-p (value)

Is the slot value a simple constraint?

Package

lisa.

Source

rule-parser.lisp.

Function: slot-value-is-negated-atom-p (value)

Is the slot value a simple negated constraint?

Package

lisa.

Source

rule-parser.lisp.

Function: slot-value-is-negated-variable-p (value)
Package

lisa.

Source

rule-parser.lisp.

Function: slot-value-is-variable-p (value)

Is the slot value a Lisa variable?

Package

lisa.

Source

rule-parser.lisp.

Function: starting-context (rete)
Package

lisa.

Source

rete.lisp.

Function: successor-connector (successor)
Package

lisa.

Source

successor.lisp.

Function: successor-node (successor)
Package

lisa.

Source

successor.lisp.

Function: synchronize-with-instance (fact &optional effective-slot)

Makes a fact’s slot values and its CLOS instance’s slot values match. If a slot identifier is provided then only that slot is synchronized. FACT is a FACT instance; EFFECTIVE-SLOT, if supplied, is a symbol representing the CLOS instance’s slot.

Package

lisa.

Source

fact.lisp.

Function: test-pattern-p (pattern)
Package

lisa.

Source

pattern.lisp.

Function: test-pattern-predicate (pattern)
Package

lisa.

Source

pattern.lisp.

Function: token-decrement-exists-counter (token)
Package

lisa.

Source

token.lisp.

Function: token-decrement-not-counter (token)
Package

lisa.

Source

token.lisp.

Function: token-fact-count (token)
Package

lisa.

Source

token.lisp.

Function: token-find-fact (token address)
Package

lisa.

Source

token.lisp.

Function: token-increment-exists-counter (token)
Package

lisa.

Source

token.lisp.

Function: token-increment-not-counter (token)
Package

lisa.

Source

token.lisp.

Function: token-make-fact-list (token &key detailp debugp)
Package

lisa.

Source

token.lisp.

Function: token-negated-p (token)
Package

lisa.

Source

token.lisp.

Function: token-pop-fact (token)
Package

lisa.

Source

token.lisp.

Function: token-push-fact (token fact)
Package

lisa.

Source

token.lisp.

Function: token-top-fact (token)
Package

lisa.

Source

token.lisp.

Function: unbind-rule-activation (rule tokens)
Package

lisa.

Source

rule.lisp.

Function: unwatch-event (event)
Package

lisa.

Source

watches.lisp.

Function: variable-p (obj)
Package

lisa.

Source

preamble.lisp.

Function: watch-activation-detail (activation direction)
Package

lisa.

Source

watches.lisp.

Function: watch-assert (fact)
Package

lisa.

Source

watches.lisp.

Function: watch-disable-activation (activation)
Package

lisa.

Source

watches.lisp.

Function: watch-enable-activation (activation)
Package

lisa.

Source

watches.lisp.

Function: watch-event (event)
Package

lisa.

Source

watches.lisp.

Function: watch-fact-detail (fact direction)
Package

lisa.

Source

watches.lisp.

Function: watch-retract (fact)
Package

lisa.

Source

watches.lisp.

Function: watch-rule-firing (activation)
Package

lisa.

Source

watches.lisp.

Function: watches ()
Package

lisa.

Source

watches.lisp.


6.2.6 Generic functions

Generic Function: accept-token (self tokens)
Package

lisa.

Methods
Method: accept-token ((self node1) (token reset-token))
Source

node1.lisp.

Method: accept-token ((self node1) token)
Source

node1.lisp.

Method: accept-token ((self terminal-node) (token reset-token))
Source

terminal-node.lisp.

Method: accept-token ((self terminal-node) (tokens remove-token))
Source

terminal-node.lisp.

Method: accept-token ((self terminal-node) (tokens add-token))
Source

terminal-node.lisp.

Generic Function: accept-token-from-right (self left-tokens)
Package

lisa.

Methods
Method: accept-token-from-right ((self node2-exists) (right-token remove-token))
Source

node2-exists.lisp.

Method: accept-token-from-right ((self node2-exists) (right-token add-token))
Source

node2-exists.lisp.

Method: accept-token-from-right ((self node2-not) (right-token remove-token))
Source

node2-not.lisp.

Method: accept-token-from-right ((self node2-not) (right-token add-token))
Source

node2-not.lisp.

Method: accept-token-from-right ((self node2) (right-token remove-token))
Source

node2.lisp.

Method: accept-token-from-right ((self node2) (right-token add-token))
Source

node2.lisp.

Method: accept-token-from-right ((self join-node) (left-tokens reset-token))
Source

join-node.lisp.

Generic Function: accept-tokens-from-left (self left-tokens)
Package

lisa.

Methods
Method: accept-tokens-from-left ((self node2-exists) (left-tokens remove-token))
Source

node2-exists.lisp.

Method: accept-tokens-from-left ((self node2-exists) (left-tokens add-token))
Source

node2-exists.lisp.

Method: accept-tokens-from-left ((self node2-test) (left-tokens remove-token))
Source

node2-test.lisp.

Method: accept-tokens-from-left ((self node2-test) (left-tokens add-token))
Source

node2-test.lisp.

Method: accept-tokens-from-left ((self node2-not) (left-tokens remove-token))
Source

node2-not.lisp.

Method: accept-tokens-from-left ((self node2-not) (left-tokens add-token))
Source

node2-not.lisp.

Method: accept-tokens-from-left ((self node2) (left-tokens remove-token))
Source

node2.lisp.

Method: accept-tokens-from-left ((self node2) (left-tokens add-token))
Source

node2.lisp.

Method: accept-tokens-from-left ((self join-node) (left-tokens reset-token))
Source

join-node.lisp.

Generic Reader: activation-eligible (object)
Package

lisa.

Methods
Reader Method: activation-eligible ((activation activation))

automatically generated reader method

Source

activation.lisp.

Target Slot

eligible.

Generic Writer: (setf activation-eligible) (object)
Package

lisa.

Methods
Writer Method: (setf activation-eligible) ((activation activation))

automatically generated writer method

Source

activation.lisp.

Target Slot

eligible.

Generic Function: activation-priority (self)
Package

lisa.

Methods
Method: activation-priority ((self activation))
Source

activation.lisp.

Generic Reader: activation-rule (object)
Package

lisa.

Methods
Reader Method: activation-rule ((activation activation))

automatically generated reader method

Source

activation.lisp.

Target Slot

rule.

Generic Reader: activation-timestamp (object)
Package

lisa.

Methods
Reader Method: activation-timestamp ((activation activation))

automatically generated reader method

Source

activation.lisp.

Target Slot

timestamp.

Generic Reader: activation-tokens (object)
Package

lisa.

Methods
Reader Method: activation-tokens ((activation activation))

automatically generated reader method

Source

activation.lisp.

Target Slot

tokens.

Generic Function: add-activation (strategy activation)
Package

lisa.

Source

conflict-resolution-strategies.lisp.

Methods
Method: add-activation ((self rete) activation)
Source

rete.lisp.

Method: add-activation ((self builtin-strategy) activation)
Generic Function: add-node-set (parent node &optional count-p)
Package

lisa.

Methods
Method: add-node-set (parent node &optional count-p)
Source

network-ops.lisp.

Method: add-node-set ((parent join-node) node &optional count-p)
Source

network-ops.lisp.

Method: add-node-set ((parent shared-node) node &optional count-p)
Source

network-ops.lisp.

Generic Function: add-successor (self new-node connector)
Package

lisa.

Methods
Method: add-successor :around ((parent shared-node) new-node connector)
Source

rete-compiler.lisp.

Method: add-successor (parent new-node connector)
Source

rete-compiler.lisp.

Method: add-successor ((self join-node) successor-node connector)
Source

join-node.lisp.

Method: add-successor ((self node1) new-node connector)
Source

node1.lisp.

Method: add-successor ((self node1) (new-node node1) connector)
Source

node1.lisp.

Generic Function: adjust-belief (rete fact belief-factor)
Package

lisa.

Methods
Method: adjust-belief (rete fact belief-factor)
Source

rete.lisp.

Method: adjust-belief (rete fact (belief-factor number))
Source

rete.lisp.

Generic Function: assert-fact (self fact &key belief)
Package

lisa.

Methods
Method: assert-fact ((self rete) fact &key belief)
Source

rete.lisp.

Generic Function: assert-fact-aux (self fact)
Package

lisa.

Methods
Method: assert-fact-aux ((self rete) fact)
Source

rete.lisp.

Generic Reader: belief-factor (object)
Package

lisa.

Methods
Reader Method: belief-factor ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

belief-factor.

Reader Method: belief-factor ((fact fact))

automatically generated reader method

Source

fact.lisp.

Target Slot

belief.

Generic Writer: (setf belief-factor) (object)
Package

lisa.

Methods
Writer Method: (setf belief-factor) ((fact fact))

automatically generated writer method

Source

fact.lisp.

Target Slot

belief.

Generic Function: class-matches-p (instance fact class)
Package

lisa.

Methods
Method: class-matches-p (instance fact class)
Source

node-tests.lisp.

Method: class-matches-p ((instance inference-engine-object) fact class)
Source

node-tests.lisp.

Generic Function: clear-memories (self)
Package

lisa.

Methods
Method: clear-memories ((self join-node))
Source

join-node.lisp.

Generic Reader: cls-name (condition)
Package

lisa.

Methods
Reader Method: cls-name ((condition class-parsing-error))
Source

conditions.lisp.

Target Slot

cls-name.

Generic Reader: code-args (condition)
Package

lisa.utils.

Methods
Reader Method: code-args ((condition not-implemented))
Source

utils.lisp.

Target Slot

args.

Reader Method: code-args ((condition code))
Source

utils.lisp.

Target Slot

args.

Generic Reader: code-mesg (condition)
Package

lisa.utils.

Methods
Reader Method: code-mesg ((condition not-implemented))
Source

utils.lisp.

Target Slot

mesg.

Reader Method: code-mesg ((condition case-error))
Source

utils.lisp.

Target Slot

mesg.

Reader Method: code-mesg ((condition code))
Source

utils.lisp.

Target Slot

mesg.

Generic Reader: code-proc (condition)
Package

lisa.utils.

Methods
Reader Method: code-proc ((condition code))
Source

utils.lisp.

Target Slot

proc.

Generic Function: combine-tokens (left-tokens right-token)
Package

lisa.

Methods
Method: combine-tokens ((left-tokens token) right-token)
Source

join-node.lisp.

Method: combine-tokens ((left-tokens token) (right-token token))
Source

join-node.lisp.

Generic Function: conflict-set (self)
Package

lisa.

Methods
Method: conflict-set ((self rule))
Source

rule.lisp.

Method: conflict-set ((self context))
Source

context.lisp.

Generic Reader: context-rules (object)
Package

lisa.

Methods
Reader Method: context-rules ((context context))

automatically generated reader method

Source

context.lisp.

Target Slot

rules.

Generic Reader: context-strategy (object)
Package

lisa.

Methods
Reader Method: context-strategy ((context context))

automatically generated reader method

Source

context.lisp.

Target Slot

strategy.

Generic Function: decrement-use-count (self)
Package

lisa.

Methods
Method: decrement-use-count ((node terminal-node))
Source

network-ops.lisp.

Method: decrement-use-count ((node join-node))
Source

network-ops.lisp.

Method: decrement-use-count ((self shared-node))
Source

shared-node.lisp.

Generic Reader: deffacts-fact-list (object)
Package

lisa.

Methods
Reader Method: deffacts-fact-list ((deffacts deffacts))

automatically generated reader method

Source

deffacts.lisp.

Target Slot

fact-list.

Generic Reader: deffacts-name (object)
Package

lisa.

Methods
Reader Method: deffacts-name ((deffacts deffacts))

automatically generated reader method

Source

deffacts.lisp.

Target Slot

name.

Generic Function: disable-activation (self activation)
Package

lisa.

Methods
Method: disable-activation ((self rete) activation)
Source

rete.lisp.

Generic Reader: duplicate-fact-existing-fact (condition)
Package

lisa.

Methods
Reader Method: duplicate-fact-existing-fact ((condition duplicate-fact))
Source

conditions.lisp.

Target Slot

existing-fact.

Generic Function: equals (a b)
Package

lisa.

Source

preamble.lisp.

Methods
Method: equals ((fact-1 fact) (fact-2 fact))
Source

fact.lisp.

Generic Reader: fact-clos-instance (object)
Package

lisa.

Methods
Reader Method: fact-clos-instance ((fact fact))

automatically generated reader method

Source

fact.lisp.

Target Slot

clos-instance.

Generic Reader: fact-id-table (object)
Package

lisa.

Methods
Reader Method: fact-id-table ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

fact-id-table.

Generic Writer: (setf fact-id-table) (object)
Package

lisa.

Methods
Writer Method: (setf fact-id-table) ((rete rete))

automatically generated writer method

Source

rete.lisp.

Target Slot

fact-id-table.

Generic Reader: fact-meta-data (object)
Package

lisa.

Methods
Reader Method: fact-meta-data ((fact fact))

automatically generated reader method

Source

fact.lisp.

Target Slot

meta-data.

Generic Reader: fact-shadowsp (object)
Package

lisa.

Methods
Reader Method: fact-shadowsp ((fact fact))

automatically generated reader method

Source

fact.lisp.

Target Slot

shadows.

Generic Reader: fact-slot-table (object)
Package

lisa.

Methods
Reader Method: fact-slot-table ((fact fact))

automatically generated reader method

Source

fact.lisp.

Target Slot

slot-table.

Generic Function: find-activation (strategy rule token)
Package

lisa.

Source

conflict-resolution-strategies.lisp.

Methods
Method: find-activation ((self builtin-strategy) rule token)
Generic Function: find-all-activations (strategy rule)
Package

lisa.

Source

conflict-resolution-strategies.lisp.

Methods
Method: find-all-activations ((self builtin-strategy) rule)
Generic Function: find-existing-successor (parent node)
Package

lisa.

Methods
Method: find-existing-successor (parent node)
Source

network-ops.lisp.

Method: find-existing-successor ((parent shared-node) (node node1))
Source

network-ops.lisp.

Generic Function: find-rule-in-context (self rule-name)
Package

lisa.

Methods
Method: find-rule-in-context ((self context) (rule-name symbol))
Source

context.lisp.

Method: find-rule-in-context ((self context) (rule-name string))
Source

context.lisp.

Generic Function: fire-activation (self)
Package

lisa.

Methods
Method: fire-activation ((self activation))
Source

activation.lisp.

Generic Function: fire-rule (self tokens)
Package

lisa.

Methods
Method: fire-rule ((self rule) tokens)
Source

rule.lisp.

Generic Function: forget-rule (self rule-name)
Package

lisa.

Methods
Method: forget-rule ((self rete) (rule-name string))
Source

rete.lisp.

Method: forget-rule ((self rete) (rule rule))
Source

rete.lisp.

Method: forget-rule ((self rete) (rule-name symbol))
Source

rete.lisp.

Generic Function: get-all-activations (self)
Package

lisa.

Methods
Method: get-all-activations ((self priority-queue-mixin))
Source

conflict-resolution-strategies.lisp.

Generic Function: get-next-activation (self)
Package

lisa.

Methods
Method: get-next-activation ((self priority-queue-mixin))
Source

conflict-resolution-strategies.lisp.

Generic Function: get-slot-value (self slot-name)
Package

lisa.

Methods
Method: get-slot-value ((self fact) (slot-name (eql :object)))
Source

fact.lisp.

Method: get-slot-value ((self fact) (slot-name symbol))

Returns the value associated with a slot name. FACT is a FACT instance; SLOT-NAME is a SLOT-NAME instance.

Source

fact.lisp.

Generic Function: hash-key (self)
Package

lisa.

Methods
Method: hash-key ((self token))
Source

token.lisp.

Method: hash-key ((self activation))
Source

activation.lisp.

Method: hash-key ((self fact))
Source

fact.lisp.

Generic Reader: heap (object)
Package

lisa.

Methods
Reader Method: heap ((priority-queue-mixin priority-queue-mixin))

automatically generated reader method

Source

conflict-resolution-strategies.lisp.

Target Slot

heap.

Generic Function: increment-use-count (self)
Package

lisa.

Methods
Method: increment-use-count ((self shared-node))
Source

shared-node.lisp.

Generic Function: insert-activation (self activation)
Package

lisa.

Methods
Method: insert-activation ((self priority-queue-mixin) activation)
Source

conflict-resolution-strategies.lisp.

Generic Function: join-node-add-test (self test)
Package

lisa.

Methods
Method: join-node-add-test ((self join-node) test)
Source

join-node.lisp.

Generic Reader: join-node-left-memory (object)
Package

lisa.

Methods
Reader Method: join-node-left-memory ((join-node join-node))

automatically generated reader method

Source

join-node.lisp.

Target Slot

left-memory.

Generic Reader: join-node-logical-block (object)
Package

lisa.

Methods
Reader Method: join-node-logical-block ((join-node join-node))

automatically generated reader method

Source

join-node.lisp.

Target Slot

logical-block.

Generic Reader: join-node-right-memory (object)
Package

lisa.

Methods
Reader Method: join-node-right-memory ((join-node join-node))

automatically generated reader method

Source

join-node.lisp.

Target Slot

right-memory.

Generic Reader: join-node-successor (object)
Package

lisa.

Methods
Reader Method: join-node-successor ((join-node join-node))

automatically generated reader method

Source

join-node.lisp.

Target Slot

successor.

Generic Writer: (setf join-node-successor) (object)
Package

lisa.

Methods
Writer Method: (setf join-node-successor) ((join-node join-node))

automatically generated writer method

Source

join-node.lisp.

Target Slot

successor.

Generic Reader: join-node-tests (object)
Package

lisa.

Methods
Reader Method: join-node-tests ((join-node join-node))

automatically generated reader method

Source

join-node.lisp.

Target Slot

tests.

Generic Writer: (setf join-node-tests) (object)
Package

lisa.

Methods
Writer Method: (setf join-node-tests) ((join-node join-node))

automatically generated writer method

Source

join-node.lisp.

Target Slot

tests.

Generic Function: list-activations (strategy)
Package

lisa.

Source

conflict-resolution-strategies.lisp.

Methods
Method: list-activations ((self builtin-strategy))
Generic Reader: location (condition)
Package

lisa.

Methods
Reader Method: location ((condition parsing-error))
Source

conditions.lisp.

Target Slot

location.

Generic Function: lookup-activation (self rule tokens)
Package

lisa.

Methods
Method: lookup-activation ((self priority-queue-mixin) rule tokens)
Source

conflict-resolution-strategies.lisp.

Generic Function: lookup-activations (self rule)
Package

lisa.

Methods
Method: lookup-activations ((self priority-queue-mixin) rule)
Source

conflict-resolution-strategies.lisp.

Generic Function: make-add-token (fact)
Package

lisa.

Methods
Method: make-add-token ((fact fact))
Source

token.lisp.

Generic Function: make-remove-token (fact)
Package

lisa.

Methods
Method: make-remove-token ((token token))
Source

token.lisp.

Method: make-remove-token ((fact fact))
Source

token.lisp.

Generic Function: make-reset-token (fact)
Package

lisa.

Methods
Method: make-reset-token (fact)
Source

token.lisp.

Generic Function: make-rete-network (&rest args &key &allow-other-keys)
Package

lisa.

Source

preamble.lisp.

Methods
Method: make-rete-network (&rest args &key &allow-other-keys)
Source

rete-compiler.lisp.

Generic Function: mark-clos-instance-as-changed (self instance &optional slot-id)
Package

lisa.

Methods
Method: mark-clos-instance-as-changed ((self rete) instance &optional slot-id)
Source

rete.lisp.

Generic Function: modify-fact (self fact &rest slot-changes)
Package

lisa.

Methods
Method: modify-fact ((self rete) fact &rest slot-changes)
Source

rete.lisp.

Generic Function: next-activation (strategy)
Package

lisa.

Source

conflict-resolution-strategies.lisp.

Methods
Method: next-activation ((self builtin-strategy))
Generic Function: node-referenced-p (self)
Package

lisa.

Methods
Method: node-referenced-p ((self shared-node))
Source

shared-node.lisp.

Generic Reader: node-test-cache (object)
Package

lisa.

Methods
Reader Method: node-test-cache ((rete-network rete-network))

automatically generated reader method

Source

rete-compiler.lisp.

Target Slot

node-test-cache.

Generic Function: node-use-count (self)
Package

lisa.

Methods
Method: node-use-count ((self shared-node))
Source

shared-node.lisp.

Generic Reader: node1-test (object)
Package

lisa.

Methods
Reader Method: node1-test ((node1 node1))

automatically generated reader method

Source

node1.lisp.

Target Slot

test.

Generic Function: pass-token-to-successors (self token)
Package

lisa.

Methods
Method: pass-token-to-successors ((self shared-node) token)
Source

shared-node.lisp.

Generic Function: pass-tokens-to-successor (self left-tokens)
Package

lisa.

Methods
Method: pass-tokens-to-successor :before ((self join-node) (left-tokens remove-token))
Source

tms.lisp.

Method: pass-tokens-to-successor ((self join-node) left-tokens)
Source

join-node.lisp.

Generic Function: recalculate-cf (objects rule-cf old-cf)
Package

lisa.belief.

Source

certainty-factors.lisp.

Methods
Method: recalculate-cf (objects (rule-cf number) (old-cf number))
Method: recalculate-cf (objects (rule-cf number) old-cf)
Method: recalculate-cf (objects rule-cf old-cf)
Generic Function: remove-activations (strategy)
Package

lisa.

Source

conflict-resolution-strategies.lisp.

Methods
Method: remove-activations ((self builtin-strategy))
Generic Function: remove-node-from-parent (self parent child)
Package

lisa.

Methods
Method: remove-node-from-parent ((self rete-network) (parent shared-node) child)
Source

rete-compiler.lisp.

Method: remove-node-from-parent ((self rete-network) parent child)
Source

rete-compiler.lisp.

Generic Function: remove-rule-from-context (self rule-name)
Package

lisa.

Methods
Method: remove-rule-from-context ((self context) rule)
Source

context.lisp.

Method: remove-rule-from-context ((self context) (rule-name symbol))
Source

context.lisp.

Generic Function: remove-successor (self successor-node)
Package

lisa.

Methods
Method: remove-successor ((self node1) successor-node)
Source

node1.lisp.

Generic Function: reset-activations (self)
Package

lisa.

Methods
Method: reset-activations ((self priority-queue-mixin))
Source

conflict-resolution-strategies.lisp.

Generic Function: reset-engine (self)
Package

lisa.

Methods
Method: reset-engine ((self rete))
Source

rete.lisp.

Generic Reader: rete-autofacts (object)
Package

lisa.

Methods
Reader Method: rete-autofacts ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

autofacts.

Generic Writer: (setf rete-autofacts) (object)
Package

lisa.

Methods
Writer Method: (setf rete-autofacts) ((rete rete))

automatically generated writer method

Source

rete.lisp.

Target Slot

autofacts.

Generic Reader: rete-contexts (object)
Package

lisa.

Methods
Reader Method: rete-contexts ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

contexts.

Generic Reader: rete-dependency-table (object)
Package

lisa.

Methods
Reader Method: rete-dependency-table ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

dependency-table.

Generic Writer: (setf rete-dependency-table) (object)
Package

lisa.

Methods
Writer Method: (setf rete-dependency-table) ((rete rete))

automatically generated writer method

Source

rete.lisp.

Target Slot

dependency-table.

Generic Reader: rete-fact-table (object)
Package

lisa.

Methods
Reader Method: rete-fact-table ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

fact-table.

Generic Writer: (setf rete-fact-table) (object)
Package

lisa.

Methods
Writer Method: (setf rete-fact-table) ((rete rete))

automatically generated writer method

Source

rete.lisp.

Target Slot

fact-table.

Generic Reader: rete-firing-count (object)
Package

lisa.

Methods
Reader Method: rete-firing-count ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

firing-count.

Generic Writer: (setf rete-firing-count) (object)
Package

lisa.

Methods
Writer Method: (setf rete-firing-count) ((rete rete))

automatically generated writer method

Source

rete.lisp.

Target Slot

firing-count.

Generic Reader: rete-focus-stack (object)
Package

lisa.

Methods
Reader Method: rete-focus-stack ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

focus-stack.

Generic Writer: (setf rete-focus-stack) (object)
Package

lisa.

Methods
Writer Method: (setf rete-focus-stack) ((rete rete))

automatically generated writer method

Source

rete.lisp.

Target Slot

focus-stack.

Generic Reader: rete-halted (object)
Package

lisa.

Methods
Reader Method: rete-halted ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

halted.

Generic Writer: (setf rete-halted) (object)
Package

lisa.

Methods
Writer Method: (setf rete-halted) ((rete rete))

automatically generated writer method

Source

rete.lisp.

Target Slot

halted.

Generic Reader: rete-instance-table (object)
Package

lisa.

Methods
Reader Method: rete-instance-table ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

instance-table.

Generic Reader: rete-meta-data (object)
Package

lisa.

Methods
Reader Method: rete-meta-data ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

meta-data.

Generic Reader: rete-next-fact-id (object)
Package

lisa.

Methods
Reader Method: rete-next-fact-id ((rete rete))

automatically generated reader method

Source

rete.lisp.

Target Slot

next-fact-id.

Generic Writer: (setf rete-next-fact-id) (object)
Package

lisa.

Methods
Writer Method: (setf rete-next-fact-id) ((rete rete))

automatically generated writer method

Source

rete.lisp.

Target Slot

next-fact-id.

Generic Reader: rete-roots (object)
Package

lisa.

Methods
Reader Method: rete-roots ((rete-network rete-network))

automatically generated reader method

Source

rete-compiler.lisp.

Target Slot

root-nodes.

Generic Function: retract-fact (self fact)
Package

lisa.

Methods
Method: retract-fact ((self rete) (fact-id integer))
Source

rete.lisp.

Method: retract-fact ((self rete) (instance standard-object))
Source

rete.lisp.

Method: retract-fact ((self rete) (fact fact))
Source

rete.lisp.

Generic Reader: rule-actions (object)
Package

lisa.

Methods
Reader Method: rule-actions ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

actions.

Generic Reader: rule-activations (object)
Package

lisa.

Methods
Reader Method: rule-activations ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

activations.

Generic Writer: (setf rule-activations) (object)
Package

lisa.

Methods
Writer Method: (setf rule-activations) ((rule rule))

automatically generated writer method

Source

rule.lisp.

Target Slot

activations.

Generic Reader: rule-active-dependencies (object)
Package

lisa.

Methods
Reader Method: rule-active-dependencies ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

active-dependencies.

Generic Reader: rule-auto-focus (object)
Package

lisa.

Methods
Reader Method: rule-auto-focus ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

auto-focus.

Generic Reader: rule-behavior (object)
Package

lisa.

Methods
Reader Method: rule-behavior ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

behavior.

Generic Writer: (setf rule-behavior) (object)
Package

lisa.

Methods
Writer Method: (setf rule-behavior) ((rule rule))

automatically generated writer method

Source

rule.lisp.

Target Slot

behavior.

Generic Reader: rule-binding-set (object)
Package

lisa.

Methods
Reader Method: rule-binding-set ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

binding-set.

Generic Reader: rule-engine (object)
Package

lisa.

Methods
Reader Method: rule-engine ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

engine.

Generic Reader: rule-logical-marker (object)
Package

lisa.

Methods
Reader Method: rule-logical-marker ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

logical-marker.

Generic Reader: rule-node-list (object)
Package

lisa.

Methods
Reader Method: rule-node-list ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

node-list.

Generic Reader: rule-patterns (object)
Package

lisa.

Methods
Reader Method: rule-patterns ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

patterns.

Generic Function: run-engine (self &optional step)
Package

lisa.

Methods
Method: run-engine ((self rete) &optional step)
Source

rete.lisp.

Generic Reader: shared-node-refcnt (object)
Package

lisa.

Methods
Reader Method: shared-node-refcnt ((shared-node shared-node))

automatically generated reader method

Source

shared-node.lisp.

Target Slot

refcnt.

Generic Writer: (setf shared-node-refcnt) (object)
Package

lisa.

Methods
Writer Method: (setf shared-node-refcnt) ((shared-node shared-node))

automatically generated writer method

Source

shared-node.lisp.

Target Slot

refcnt.

Generic Reader: shared-node-successors (object)
Package

lisa.

Methods
Reader Method: shared-node-successors ((shared-node shared-node))

automatically generated reader method

Source

shared-node.lisp.

Target Slot

successors.

Generic Reader: slot-name (condition)
Package

lisa.

Methods
Reader Method: slot-name ((condition slot-parsing-error))
Source

conditions.lisp.

Target Slot

slot-name.

Generic Reader: terminal-node-rule (object)
Package

lisa.

Methods
Reader Method: terminal-node-rule ((terminal-node terminal-node))

automatically generated reader method

Source

terminal-node.lisp.

Target Slot

rule.

Generic Function: test-against-left-memory (self right-token)
Package

lisa.

Methods
Method: test-against-left-memory ((self node2-exists) (right-token remove-token))
Source

node2-exists.lisp.

Method: test-against-left-memory ((self node2-exists) (right-token add-token))
Source

node2-exists.lisp.

Method: test-against-left-memory ((self node2-not) (right-token remove-token))
Source

node2-not.lisp.

Method: test-against-left-memory ((self node2-not) (right-token add-token))
Source

node2-not.lisp.

Method: test-against-left-memory ((self node2) (right-token remove-token))
Source

node2.lisp.

Method: test-against-left-memory ((self node2) (right-token add-token))
Source

node2.lisp.

Generic Function: test-against-right-memory (self left-tokens)
Package

lisa.

Methods
Method: test-against-right-memory ((self node2-exists) (left-tokens remove-token))
Source

node2-exists.lisp.

Method: test-against-right-memory ((self node2-exists) (left-tokens add-token))
Source

node2-exists.lisp.

Method: test-against-right-memory ((self node2-not) left-tokens)
Source

node2-not.lisp.

Method: test-against-right-memory ((self node2) left-tokens)
Source

node2.lisp.

Generic Function: test-tokens (self left-tokens right-token)
Package

lisa.

Methods
Method: test-tokens ((self join-node) left-tokens right-token)
Source

join-node.lisp.

Generic Reader: text (condition)
Package

lisa.

Methods
Reader Method: text ((condition parsing-error))
Source

conditions.lisp.

Target Slot

text.

Generic Reader: token-contents (object)
Package

lisa.

Methods
Reader Method: token-contents ((token token))

automatically generated reader method

Source

token.lisp.

Target Slot

contents.

Generic Reader: token-exists-counter (object)
Package

lisa.

Methods
Reader Method: token-exists-counter ((token token))

automatically generated reader method

Source

token.lisp.

Target Slot

exists-counter.

Generic Writer: (setf token-exists-counter) (object)
Package

lisa.

Methods
Writer Method: (setf token-exists-counter) ((token token))

automatically generated writer method

Source

token.lisp.

Target Slot

exists-counter.

Generic Reader: token-facts (object)
Package

lisa.

Methods
Reader Method: token-facts ((token token))

automatically generated reader method

Source

token.lisp.

Target Slot

facts.

Generic Writer: (setf token-facts) (object)
Package

lisa.

Methods
Writer Method: (setf token-facts) ((token token))

automatically generated writer method

Source

token.lisp.

Target Slot

facts.

Generic Reader: token-hash-code (object)
Package

lisa.

Methods
Reader Method: token-hash-code ((token token))

automatically generated reader method

Source

token.lisp.

Target Slot

hash-code.

Generic Writer: (setf token-hash-code) (object)
Package

lisa.

Methods
Writer Method: (setf token-hash-code) ((token token))

automatically generated writer method

Source

token.lisp.

Target Slot

hash-code.

Generic Reader: token-not-counter (object)
Package

lisa.

Methods
Reader Method: token-not-counter ((token token))

automatically generated reader method

Source

token.lisp.

Target Slot

not-counter.

Generic Writer: (setf token-not-counter) (object)
Package

lisa.

Methods
Writer Method: (setf token-not-counter) ((token token))

automatically generated writer method

Source

token.lisp.

Target Slot

not-counter.


6.2.7 Conditions

Condition: case-error

An error in a case statement.
This carries the function name which makes the error message more useful.

Package

lisa.utils.

Source

utils.lisp.

Direct superclasses

code.

Direct methods

code-mesg.

Direct slots
Slot: mesg
Initform

(quote "`~s' evaluated to `~s', not one of [~@{`~s'~^ ~}]")

Initargs

:mesg

Readers

code-mesg.

Writers

This slot is read-only.

Condition: class-parsing-error
Package

lisa.

Source

conditions.lisp.

Direct superclasses

parsing-error.

Direct methods

cls-name.

Direct slots
Slot: cls-name
Initform

(quote nil)

Initargs

:cls-name

Readers

cls-name.

Writers

This slot is read-only.

Condition: code

An error in the user code.

Package

lisa.utils.

Source

utils.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods
Direct slots
Slot: proc
Initargs

:proc

Readers

code-proc.

Writers

This slot is read-only.

Slot: mesg
Initargs

:mesg

Readers

code-mesg.

Writers

This slot is read-only.

Slot: args
Initargs

:args

Readers

code-args.

Writers

This slot is read-only.

Condition: not-implemented

Your implementation does not support this functionality.

Package

lisa.utils.

Source

utils.lisp.

Direct superclasses

code.

Direct methods
Direct slots
Slot: mesg
Initform

(quote "not implemented for ~a [~a]")

Initargs

:mesg

Readers

code-mesg.

Writers

This slot is read-only.

Slot: args
Initform

(quote (list (lisp-implementation-type) (lisp-implementation-version)))

Initargs

:args

Readers

code-args.

Writers

This slot is read-only.

Condition: parsing-error
Package

lisa.

Source

conditions.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods
Direct slots
Slot: text
Initform

(quote nil)

Initargs

:text

Readers

text.

Writers

This slot is read-only.

Slot: location
Initform

(quote nil)

Initargs

:location

Readers

location.

Writers

This slot is read-only.

Condition: rule-parsing-error
Package

lisa.

Source

conditions.lisp.

Direct superclasses

parsing-error.

Direct methods

rule-name.

Direct slots
Slot: rule-name
Initform

(quote nil)

Initargs

:rule-name

Readers

rule-name.

Writers

This slot is read-only.

Condition: slot-parsing-error
Package

lisa.

Source

conditions.lisp.

Direct superclasses

parsing-error.

Direct methods

slot-name.

Direct slots
Slot: slot-name
Initform

(quote nil)

Initargs

:slot-name

Readers

slot-name.

Writers

This slot is read-only.


6.2.8 Structures

Structure: fact-meta-object
Package

lisa.

Source

rete.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: class-name
Package

common-lisp.

Type

symbol

Readers

fact-meta-object-class-name.

Writers

(setf fact-meta-object-class-name).

Slot: slot-list
Type

list

Readers

fact-meta-object-slot-list.

Writers

(setf fact-meta-object-slot-list).

Slot: superclasses
Type

list

Readers

fact-meta-object-superclasses.

Writers

(setf fact-meta-object-superclasses).

Structure: heap
Package

lisa.heap.

Source

heap.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: less-fn
Readers

heap-less-fn.

Writers

(setf heap-less-fn).

Slot: order
Readers

heap-order.

Writers

(setf heap-order).

Slot: a
Readers

heap-a.

Writers

(setf heap-a).

Slot: max-count
Readers

heap-max-count.

Writers

(setf heap-max-count).

Structure: parsed-pattern

Represents the canonical form of a pattern analysed by the DEFRULE parser.

Package

lisa.

Source

pattern.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: class
Package

common-lisp.

Type

symbol

Readers

parsed-pattern-class.

Writers

(setf parsed-pattern-class).

Slot: slots
Readers

parsed-pattern-slots.

Writers

(setf parsed-pattern-slots).

Slot: address
Type

integer

Initform

0

Readers

parsed-pattern-address.

Writers

(setf parsed-pattern-address).

Slot: pattern-binding
Readers

parsed-pattern-pattern-binding.

Writers

(setf parsed-pattern-pattern-binding).

Slot: test-bindings
Type

list

Readers

parsed-pattern-test-bindings.

Writers

(setf parsed-pattern-test-bindings).

Slot: binding-set
Type

list

Readers

parsed-pattern-binding-set.

Writers

(setf parsed-pattern-binding-set).

Slot: logical
Type

symbol

Readers

parsed-pattern-logical.

Writers

(setf parsed-pattern-logical).

Slot: sub-patterns
Type

list

Readers

parsed-pattern-sub-patterns.

Writers

(setf parsed-pattern-sub-patterns).

Slot: type
Package

common-lisp.

Type

symbol

Initform

:generic

Readers

parsed-pattern-type.

Writers

(setf parsed-pattern-type).

Structure: pattern-slot

Represents the canonical form of a slot within a pattern analysed by the DEFRULE parser.

Package

lisa.

Source

pattern.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: name
Type

symbol

Readers

pattern-slot-name.

Writers

(setf pattern-slot-name).

Slot: value
Readers

pattern-slot-value.

Writers

(setf pattern-slot-value).

Slot: slot-binding
Type

list

Readers

pattern-slot-slot-binding.

Writers

(setf pattern-slot-slot-binding).

Slot: negated
Type

symbol

Readers

pattern-slot-negated.

Writers

(setf pattern-slot-negated).

Slot: intra-pattern-bindings
Type

symbol

Readers

pattern-slot-intra-pattern-bindings.

Writers

(setf pattern-slot-intra-pattern-bindings).

Slot: constraint
Readers

pattern-slot-constraint.

Writers

(setf pattern-slot-constraint).

Slot: constraint-bindings
Type

list

Readers

pattern-slot-constraint-bindings.

Writers

(setf pattern-slot-constraint-bindings).

Structure: rule-actions
Package

lisa.

Source

pattern.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: bindings
Type

list

Readers

rule-actions-bindings.

Writers

(setf rule-actions-bindings).

Slot: actions
Type

list

Readers

rule-actions-actions.

Writers

(setf rule-actions-actions).


6.2.9 Classes

Class: add-token
Package

lisa.

Source

token.lisp.

Direct superclasses

token.

Direct methods
Class: breadth-first-strategy

A breadth-first conflict resolution strategy.

Package

lisa.

Source

conflict-resolution-strategies.lisp.

Direct superclasses

builtin-strategy.

Class: builtin-strategy

A base class for all LISA builtin conflict resolution strategies.

Package

lisa.

Source

conflict-resolution-strategies.lisp.

Direct superclasses
Direct subclasses
Direct methods
Class: depth-first-strategy

A depth-first conflict resolution strategy.

Package

lisa.

Source

conflict-resolution-strategies.lisp.

Direct superclasses

builtin-strategy.

Class: inference-engine-object
Package

lisa.

Source

preamble.lisp.

Direct subclasses
Direct methods

class-matches-p.

Class: join-node
Package

lisa.

Source

join-node.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: successor
Readers

join-node-successor.

Writers

(setf join-node-successor).

Slot: logical-block
Readers

join-node-logical-block.

Writers

This slot is read-only.

Slot: tests