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.
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
heapSize | The size of the workspace heap. |
objStack | The size of the workspace object stack. |
tvalStack | The 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"
Overview
The delete function destroys a RadSynch object and returns a null pointer.
Syntax
(qt delete: radSynchPtr)
Arguments
radSinchPtr | The pointer to the radSynchPtr object to be destroyed. |
nullPtr | Always 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.
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"