Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!uunet!usc!howland.reston.ans.net!ix.netcom.com!netcom.com!thinman
From: thinman@netcom.com (Technically Sweet)
Subject: Re: communicating with scheme (was Re: Removing READ)
Message-ID: <thinmanD4IvMx.HC3@netcom.com>
Organization: International Foundation for Internal Freedom
References: <bakulD4Gyox.AtE@netcom.com> <V33Z1c2w165w@sytex.com> <bakulD4I0J2.GpI@netcom.com>
Date: Fri, 24 Feb 1995 20:59:21 GMT
Lines: 45
Sender: thinman@netcom4.netcom.com

bakul@netcom.com (Bakul Shah) writes:

>>bakul@netcom.com (Bakul Shah) writes:
>>> In case it is not clear, I am talking about a scheme where both
>>> _request_ and _response_ are done using Scheme objects.  You'd
>>> need one bidirectional path for each requestor/responder pair and
>>> on each such path you'd only see Scheme objects whizzing past.

>smcl@sytex.com (Scott McLoughlin) writes:
>>        OK. I'm convinced. Questions(suggestions?):
>>a] Linking symbols

>a] I don't know what you mean here but perhaps some elaboration
>might help.  First, both peer processess, call them A and B,
>would have to agree on some common initial vocabulary (e.g.  R4RS
>Scheme!).  From then on it is upto each of the peers on how their
>individual Scheme worlds evolve via their interaction with the
>other.  If A sends `(define x 12)' to B on bidirectional path AB,
>and B sends `(define x 0)' to A on another bidir. path BA, then
>in A's world x is 0 and B's world x is 12.

>A's world and B's world are distinct from each other's.  Of
>course, for a meaningful conversation they may well have to
>represent in their _own_ world what they know about and told
>their peer [and that is where such communication becomes
>interesting!].

All computation takes place in a context.  You need a formal
context (Scheme environment) management system where new
contexts are created (cloned from a master in a prototype-ish
style), split off, elaborated, and destroyed.  Contexts might
want to include transaction numbers.

This latter is very interesting for implementing the Time Warp
distributed simulation system where satellite simulators run
freely without external input, guessing what the next input
will be.  If the guesses are wrong, the satellite backs up
to the last correct context and restarts from there.
This is, of course, very very easy in Scheme.

-- 

Lance Norskog
thinman@netcom.com
Artisputtingtogether. Art  s th ow n  aw y.
