home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula
/
nebula.bin
/
SourceCode
/
LispExample
/
Lisp.h
< prev
next >
Wrap
Text File
|
1989-12-18
|
1KB
|
57 lines
/*
** 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