Does this sort of thing work? Can I throw a condition, catch it, send it as a message, then throw it again in another process?
Well if you're going to do distributed programming with READ/WRITE for serialization you can definately not send condition objects in a message.
Also, I don't know how one could reraise the condition in another process. I mean, if RECEIVE sees such a "condition message" it could do a raise, but then a linked process would only be killed the next time it did a RECEIVE.
My understanding (regarding Erlang) was that if a process couldn't handle its own condition then it would kill itself (and children) and pass the condition on to its parent. If the parent can't handle it, then the parent dies also and passes the condition on to its own parent. This continues until either someone handles it or it reaches a process with no parent (in which case the user sees an error message and some restart options). This is far from the usual way of using conditions in Lisp, but I was under the impression that Erlang handled the situation in this way.
As for one process killing another, I believe you and Faré discussed this on soc-erlisp. A RECEIVE command which looks only for system messages can be built into the message sending system. In this case, the process might continue using CPU time for a bit longer after getting an order to die, but next time it tries to send messages to other processes it will hit the system message first. This is only a problem if there is a long-running process which doesn't use the messaging system very often, and in that case it is an efficiency issue only. I can imagine more complicated systems that wouldn't have this efficiency issue, but the first version doesn't need to be perfect.
Oh gee, one more week only? Then getting process linking and distribution done for the SoC is definately not realistic.
For SoC I just need process linking. A week still doesn't seem like enough, but I think it is at least possible.
You are of course more than welcome to continue working on Erlisp after the SoC has ended, if you want to, and time permitting.
I will definitely continue with Erlisp after SoC. For now, though, I am more focused on a certain deadline :-)
Eric