home *** CD-ROM | disk | FTP | other *** search
- /*
- ** Lisp.h
- ** Lisp client object with message-based I/O.
- ** Lee Boynton, NeXT, Inc., 1989
- */
-
-
- #import <objc/Object.h>
-
- @interface Lisp : Object
- {
- id delegate;
- int lisp_pid;
- int lisp_in_fd;
- int lisp_out_fd;
- }
-
- + new;
- - free;
- /*
- ** The new method launches the lisp process determined by the
- ** 'LispImage' default (which itself defaults to 'cl'). If multiple
- ** Lisp objects are created, each one has a new lisp process.
- ** If any error occurs, nil is returned.
- ** When the Lisp object is freed, the lisp process is killed.
- */
-
- - setDelegate:anObject;
- - delegate;
- /*
- ** Sets/gets the delegate of the Lisp object. The delegate will receive
- ** lispOutput: message whenever the lisp process outputs to stdout or
- ** stderr.
- */
-
- - inputLisp:(const char *)theString;
- /*
- ** Enqueue the string onto the lisp process's stdin.
- */
-
- - interruptLisp;
- /*
- ** Send a 'keyboard interrupt' signal to the lisp process.
- */
-
- @end
-
-
- @interface LispDelegate
-
- - lispOutput:(const char *)theString;
- @end
-
-
-
-
-