[Prev][Next][Index][Thread]
Re: Distributed objects vs. generic functions and multi-methods
-
To: info-dylan@ai.mit.edu
-
Subject: Re: Distributed objects vs. generic functions and multi-methods
-
From: Vebjorn Ljosa <abuse@ljosa.com>
-
Date: Wed, 17 Oct 2001 04:30:02 -0400 (EDT)
-
Cache-Post-Path: bacchus.pvv.ntnu.no!unknown@cx1258291-a.santab1.ca.home.com
-
Organization: Norwegian University of Science and Technology
-
References: <3AXy7.126876$vq.27288567@typhoon.ne.mediaone.net>
-
Sender: ljosa@eponine
-
User-Agent: Gnus/5.090001 (Oort Gnus v0.01) Emacs/20.7
-
Xref: traf.lcs.mit.edu comp.lang.lisp:73352 comp.lang.dylan:13746
* "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: