QT Class RadSynch

 

Overview

The RadSynch class is the principal tool for creating new AIS synchronous Lisp workspaces. RadSynch workspaces can evaluate any Lisp valid expression and return the result to the calling workspace. The RadSynch is one of the key words accepted by the qt new: function. There can be many RadSynch objects.

new

Overview

The new function creates a new RadSynch object and returns a pointer to the newly created object. The RadSynch is one of the class key words accepted by the qt new: function. There can be many RadSynch objects.

 

Syntax

(qt new: RadSynch: heapSize objStack tvalStack)

Arguments

heapSizeThe size of the workspace heap.
objStackThe size of the workspace object stack.
tvalStackThe size of the workspace tval stack.

 

Example

(setq radSynchPtr (qt new: RadSynch: 20000000 1000000 2000000)) ;; Create a new RadSynch object
(setq r (qt radSynchPtr: lisp: "(+ 1 2)")) ;; Returns the String "3"

delete

Overview

The delete function destroys a RadSynch object and returns a null pointer.

 

Syntax

(qt delete: radSynchPtr)

Arguments

radSinchPtrThe pointer to the radSynchPtr object to be destroyed.
nullPtrAlways returns a null pointer.

 

Example

(setq radSynchPtr (qt new: RadSynch: 5000000 1000000 1000000)) ;; Create a RadSynch object.
(setq radSynchPtr (qt delete: radSynchPtr)) ;; Destroy the RadSynch object.

lisp

Overview

The radSynch lisp function evaluates the Lisp expression in the new workspace.

 

Syntax

(qt radSynchPtr lisp: expression)

Arguments

expression A Lisp expression to be evaluated
result Always returns the result as a String

 

Example

(setq radSynchPtr (qt new: RadSynch: 20000000 1000000 2000000)) ;; Create a new RadSynch object
(setq r (qt radSynchPtr: lisp: "(setq x (* 4 2))")) ;; Returns the String "8"
(setq r (qt radSynchPtr: lisp: "(* x 2))")) ;; Returns the String "16"