call-use-loom [Function]


Purpose

The call-use-loom function imports Loom symbols into a specified package and optionally creates a new knowledge base that is associated with that package.

Syntax

call-use-loom packageName &key dont-create-knowledge-base-p knowledge-base-name
path-name loom-imports

Arguments

The packageName argument is a symbol or string that identifies the Lisp package which will use Loom.

If the dont-create-knowledge-base-p argument is t, call-use-loom does not create a new knowledge base. Otherwise, it defines a knowledge base named packageName-KB.

The knowledge-base-name argument is a symbol or string to be used as the name of the new knowledge base. It overrides the default name, packageName-KB.

The path-name argument is a string specifying the file to be used for saving and restoring the knowledge base. The pathname may be supplied here, or it may be passed directly to save-kb.

The loom-imports argument is a string, or a list of strings, identifying Loom symbols which are to be shadowing-imported into packageName. These symbols override their counterparts in the common-lisp package, or in other packages inherited by packageName.

Value

This function return nil.

Remarks

In contrast to use-loom, which should only be called at top-level, the call-use-loom function can be invoked from within other functions.

The variable ``LOOM::*shadow-import-from-loom*'' contains symbols (such as defmethod, trace, and pi) which are automatically shadowing-imported into packageName in addition to any symbols specified by loom-imports.

Examples

(call-use-loom "USER")  ==> NIL 
(call-use-loom 'test :dont-create-knowledge-base-p t 
                     :path-name "test-kb.lisp") ==> NIL 
(call-use-loom "FOO" :knowledge-base-name "FOO-KB" 
                     :loom-imports '("ASK" "TELL")) ==> NIL

See Also

Last modified: Jun 1 1995