[slime-devel] connecting multiple users to one lisp process

Helmut Eller heller at common-lisp.net
Fri Jun 23 18:38:05 UTC 2006

* Joe Corneli [2006-06-22 22:33+0200] writes:

> I am interested in connecting several uniquely-identified users to one
> lisp process.  For example, the lisp process could be running a MUD
> and the users will be interacting with each other there.  Someone
> mentioned to me that SLIME could be used to facilitate the
> "connection" aspect of this problem (perhaps still leaving some work
> in the unique identification of users).  Any initial feedback or
> advice on how to approach this?  Is SLIME the right tool for the job?
> If not, do you have any other suggestions?  If yes, please advise on
> how to get started, and we'll talk more after that.

SLIME could be useful if you want to use Emacs and Emacs Lisp for the
front-end.  E.g. you could use SLIME's RPC mechanism for your
front-end.  SLIME also supports multiple connections to the same Lisp
process, but that's not very well tested.  (swank:create-server has
:dont-close argument for this purpose.)

Of course, implementing your own protocol/server (instead of using
SLIME) has also some advantages:
  - you don't need to know how SLIME works 
  - you have complete control over the protocol, which might be useful
    for security related issues. (SLIME is rather insecure, because it
    lets you execute arbitrary code on the server.)
  - the system as a whole is probably simpler (always a good thing)

A good strategy might be to use SLIME as front-end until some key
parts of your application work.  Then you can decide whether you need
your own protocol/server for the communication with the font-end.


More information about the slime-devel mailing list