mujica@ra.cs.ucla.edu (S. Mujica) (07/21/89)
Has anybody written a "remote evaluation" package for Common Lisp? thanks, Sergio Mujica mujica@cs.ucla.edu Computer Science Department, UCLA
chris@jung.harlqn.uucp (Zany Cornetto) (07/24/89)
I am not familiar with the term "remote evaluation". Do you mean, one lisp causing the evaluation of an expression in another Lisp? We have implemented a fasl stream based communication facility that enables several lisps to communicate over sockets. The mechanism makes remote evaluate simple. In our Lisp system each Unix Lisp process can have multiple lightweight processes. As part of a research project (ESPRIT Chameleon) we have implemented a facility known as Dynamic Software Migration, to move a running lightweight PROCESS from one Lisp image to another. This involves turning the state of the process (the stack etc) into a Lisp datastructure (reification), moving the data structure to the target Lisp system, and turning the data back into a running process (reflection). This works for both compiled and interpreted code. Some example applications we have built using this facility are: - An agenda program that migrates round a network interacting with users arranging meetings. - An air traffic control simulation where each plane is represented as a lightweight process and each air traffic control area as a separate lisp system. As a plane moves from one control area to another it changes machines. I hope this has something to do with your meaning of remote execution. -- chris richardson ---------------- chris@harlqn.co.uk, ..!uunet!mcvax!harlqn.co.uk!chris Harlequin Ltd, Barrington Hall, Barrington, Cambridge, CB2 5RG, England. Phone: 0223 872522 (National), +44-223-872522 (International).