[Prev][Next][Index][Thread]
Re: Distributed objects vs. generic functions and multi-methods
On Wed, 17 Oct 2001, Scott McKay wrote:
> ----- Original Message -----
> From: "Rob Myers" <robmyers@mac.com>
> Sent: Wednesday, October 17, 2001 8:12 AM
>
> > on 16/10/01 3:45 pm, Scott McKay at swm@mediaone.net wrote:
> > > ...
> > > In Lisp or Dylan, it's not obvious to me what to "distribute"...
> > > It's not enough to say "oh, just lose the multi-method part and
> > > only dispatch on the first argument", because these languages
> > > still don't provide a formal way of grouping all the related GFs
> > > into a single first-class "protocol".
> >
> > OK, I'm ignorant here. :-) Why would multi-methods get lost in a
> > distributed system? Why do we need a "protocol"?
>
> It's not actually the multi-methods that are the sole problem. It's that
> in languages like Java, you have a natural "unit" for distributing around
> the network -- the class.
>
> In Lisp and Dylan, there is no such in-language unit. So in addition to
> little twists like GF/multi-methods, there's the issue of, what exactly do
> you distribute?
>
> As I said, I have not thought about this yet, and am looking for a few
> shoulders to stand on.
This may not be the answer to quite the right question but, in terms of
code "migration": libraries (compiled with "loose cross-library linking")?
Kaelin Colclasure earlier mentioned the problem of incremental updates to
code on different nodes. Dunno if it's of any interest but a friend of
mine did his PhD on a so-called "Dynamic ML" which addresses run-time
dynamic updates to ML modules on other machines (with ML's usual formal
correctness guarantees). Not actually implemented yet, AFAIK, but it has
a chapter on how the formal side might be applied to Java. See
<http://www.dcs.ed.ac.uk/home/cdw/>, though I couldn't find the thesis
online.
Just my (friend's) 2p :-)
Hugh
--
Version 3.1 GCS/IT d- s+:+>+: a- C++$ UL P+ L+(++) E W++$ N++ o K++ w(++) O?
M V? PS(+) PE Y+ PGP->++ t(+) 5+(++) X(+) R tv b++ DI+ D+ G e++ h- r>++ y+
(Removed reversed spam from my email address to reply)
Follow-Ups:
References: