[Prev][Next][Index][Thread]

Re: Distributed objects vs. generic functions and multi-methods



* "Scott McKay" <swm@mediaone.net>
| 
| What has piqued my curiosity is, what does a good distributed
| object system look like in a language in which generic functions
| with multi-methods are the things around which designs are
| composed?  In a class-based decomposition, there are natural
| things which can be "distributed" -- the [instances of the] classes.
| In Lisp or Dylan, it's not obvious to me what to "distribute"...

In principle, I think it's fine to distribute the object
instances---i.e, the slot values---without requiring the methods to be
executed on the node where the data are stored.  The method itself can
run on any node, of course making lower-level calls corresponding to
slot-value and (setf slot-value) whenever a slot value is referenced.

But this opens up a whole can of worms.  For a start, methods and
subclass definitions will have to be propagated between nodes in a
consistent manner.  And because the methods can refer to symbols, they
would have to be distributed as well.  You would end up with a truly
distributed Lisp instead of individual Lisps communicating through a
middleware.  Could be interesting, but I'm not yet convinced that it
is a a good thing.

-- 
Vebjorn Ljosa



Follow-Ups: References: