> Graham Fawcett wrote: > > Actually, it would be very interesting, and probably quite simple, to > > write a Quixote-based tuple space engine: a bare-bones write/take > > interface with a pluggable backend (in-memory, ZODB, Berkeley, ...). > > Would anyone be interested in such a thing? > > I couldn't resist. > > For your amusement, attached is a trivial tuple space > implementation, built using Quixote and Medusa. > > The space isn't persistent; there's no security; and it uses eval() and repr() > for data marshalling, so it's both dangerous and limited. Fortunately it's also > extremely short, so you could easily add features/restrictions as you see fit. Thanks for posting this, it made for an interesting read, and I got some ideas from it that should be useful. As I was reviewing it, I wondered about the wisdom of using eval() and repr(), but I saw after re-reading the above that you were well aware of the concerns. I guess you did it that way because of the simplicity, and ease of debugging while you wrote it... Got me to thinking about XML-RPC, pickle, etc, and other issues: Using something like this would require that the agents responsible for doing the work (running queries, etc) poll the tuple space at some interval to detect the presence of tuples that they're interested in. Is there a provision in the concept of tuple spaces for a subscriber agent that wants to be notified of insertion of tuples matching specific criteria, or is that outside the bounds of responsibility of a formal tuple space? Thanks for the ideas, Jason Sibre