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.
* 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.
Helmut.
SLIME could be useful if you want to use Emacs and Emacs Lisp for the front-end.
Luckily, I already have an Emacs Lisp frontend :).
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.)
OK, I'll take a look at that. Any other advice from people who have already tried this would be appreciated.
Of course, implementing your own protocol/server (instead of using SLIME) has also some advantages: [...] 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.
Yeah, that seems reasonable.