From: zhiyong shen
Subject: how can i run a lisp image as a server for other programs?
Date: 
Message-ID: <2d8nslINN81@violin.cis.ohio-state.edu>
is there some code that will allow a lisp image in one machine function
as a server and let another lisp image in another machine send it
a lisp form, evaluate the form, and send back the result?

or in another form,

is there a portable way to send a form from another program (lisp
or nonlisp) to a running lisp, have it evaluted, and return the result to
the sending program.

if there is no portable way, then i would be interested in doing this
in allegro.

thanks for any information and/or enlightment.

--john

From: Marco Antoniotti
Subject: Re: how can i run a lisp image as a server for other programs?
Date: 
Message-ID: <MARCOXA.93Nov29094515@butsomi.cs.nyu.edu>
CMUCL has all the machinery to do remote evaluation. It is obviously
non portable.

Have a nice day
--
Marco Antoniotti
-------------------------------------------------------------------------------
Robotics Lab		| room: 1219 - tel. #: (212) 998 3370
Courant Institute NYU	| e-mail: ·······@cs.nyu.edu

...e` la semplicita` che e` difficile a farsi.
...it is simplicity that is difficult to make.
				B. Brecht
From: Barry Margolin
Subject: Re: how can i run a lisp image as a server for other programs?
Date: 
Message-ID: <2ddst1INNgvc@early-bird.think.com>
In article <···········@violin.cis.ohio-state.edu> ·····@cis.ohio-state.edu (zhiyong shen) writes:
>is there some code that will allow a lisp image in one machine function
>as a server and let another lisp image in another machine send it
>a lisp form, evaluate the form, and send back the result?
>
>or in another form,
>
>is there a portable way to send a form from another program (lisp
>or nonlisp) to a running lisp, have it evaluted, and return the result to
>the sending program.
>
>if there is no portable way, then i would be interested in doing this
>in allegro.

There's no portable way.  You generally have to use the implementation's
foreign function interface to call the networking routines, and its
low-level stream routines to turn the socket into a Lisp stream.

Once you have a network stream set up, you should be able to use READ and
PRIN1 to implement a READ-EVAL-PRINT loop that uses the network connection.

Get a copy of Franz's Emacs-to-Lisp interface, which I believe implements
stuff like what you want.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

······@think.com          {uunet,harvard}!think!barmar
From: Charles A. Cox
Subject: Re: how can i run a lisp image as a server for other programs?
Date: 
Message-ID: <COX.93Nov29195635@crisp.Franz.COM>
In article <············@early-bird.think.com> ······@think.com (Barry Margolin) writes:
> 
> In article <···········@violin.cis.ohio-state.edu> ·····@cis.ohio-state.edu (zhiyong shen) writes:
> >is there some code that will allow a lisp image in one machine function
> >as a server and let another lisp image in another machine send it
> >a lisp form, evaluate the form, and send back the result?
	[...]
> >if there is no portable way, then i would be interested in doing this
> >in allegro.
> 
	[...]
> Get a copy of Franz's Emacs-to-Lisp interface, which I believe implements
> stuff like what you want.

  The file that implements this is called ipc.cl and is available in
the Allegro CL distribution library.  This is basically a lisp
interface to unix sockets.  Included in this file are definitions for
lisp-listener-daemon functionality that listens to socket(s) through
which one can send lisp requests and receive results.  The emacs-lisp
interface uses this functionality.

	Charley
--
---
Charles A. Cox, Franz Inc.        1995 University Avenue, Suite 275
Internet: ···@franz.com           Berkeley, CA  94704
uucp:     uunet!franz!cox         Phone: (510) 548-3600; FAX: (510) 548-8253
From: Lawrence G. Mayka
Subject: Re: how can i run a lisp image as a server for other programs?
Date: 
Message-ID: <LGM.93Dec3090723@polaris.flw.att.com>
In article <············@early-bird.think.com> ······@think.com (Barry Margolin) writes:

   In article <···········@violin.cis.ohio-state.edu> ·····@cis.ohio-state.edu (zhiyong shen) writes:

   >is there a portable way to send a form from another program (lisp
   >or nonlisp) to a running lisp, have it evaluted, and return the result to
   >the sending program.

   There's no portable way.  You generally have to use the implementation's
   foreign function interface to call the networking routines, and its
   low-level stream routines to turn the socket into a Lisp stream.

Some implementations (e.g., LispWorks) include support for TCP
streams.  I would encourage all vendors to do so, and indeed to
proceed with informal standardization of TCP-stream support.

--
        Lawrence G. Mayka
        AT&T Bell Laboratories
        ···@iexist.att.com

Standard disclaimer.