Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!hsdndev!ncar!ames!kronos.arc.nasa.gov!usenet
From: bobo@avogadro.arc.nasa.gov (Mark Friedman)
Subject: Re: communicating with scheme (was Re: Removing READ)
In-Reply-To: lord@crocodile.kiev.ua's message of Sun, 5 Mar 1995 09:52:03 GMT
Message-ID: <BOBO.95Mar14095820@avogadro.arc.nasa.gov>
Lines: 59
Sender: usenet@ptolemy-ethernet.arc.nasa.gov (usenet@ptolemy.arc.nasa.gov)
Nntp-Posting-Host: avogadro.arc.nasa.gov
Reply-To: bobo@ptolemy.arc.nasa.gov
Organization: NASA/Ames Information Sciences
References: <bakulD4Gyox.AtE@netcom.com> <V33Z1c2w165w@sytex.com>
	<bakulD4I0J2.GpI@netcom.com> <3ild3f$90k@nntp.crl.com>
	<LORD.95Mar5095203@crocodile.crocodile.kiev.ua>
Date: Tue, 14 Mar 1995 17:58:20 GMT

In article <LORD.95Mar5095203@crocodile.crocodile.kiev.ua>
lord@crocodile.kiev.ua (Vadim Zaliva) writes:

   We are trying to implement distributed object system,
   using Scheme as internal data representation format.
   Is more datailed description, of things you've metioned aviable?

You might also want to look at Luca Cardelli's Obliq language
(http://www.research.digital.com/SRC/Obliq/Obliq.html). Here's an
excerpt from the Obliq manual:

    1. Introduction

    Obliq is a lexically-scoped untyped interpreted language that
    supports distributed object-oriented computation. An Obliq
    computation may involve multiple threads of control within an
    address space, multiple address spaces on a machine, heterogeneous
    machines over a local network, and multiple networks over the
    Internet. Obliq objects have state and are local to a site. Obliq
    computations can roam over the network, while maintaining network
    connections.

    1.1 Language Overview

    The guiding principle that separates Obliq from other distributed
    procedural languages is the adherence to lexical scoping in a
    distributed higher-order context. This principle is conceptually
    simple and has a number of interesting consequences: it supports a
    natural and consistent semantics of distributed computation, and
    it enables elegant techniques for distributed programming.

    In lexically scoped languages, the binding location of every
    identifier is determined by simple analysis of the program text
    surrounding the identifier. Therefore, one can be sure of the
    meaning of program identifiers, and can much more easily reason
    about the behavior of programs. In a distributed language like
    Obliq, lexical scoping assumes a further role. It ensures that
    computations have a precise meaning even when they migrate over
    the network: a meaning that is determined by the binding location
    and network site of identifiers, and not by execution sites.

    Network-wide scoping becomes an issue in the presence of
    higher-order distributed computation, for example when remote
    sites acting as compute servers accept procedures for
    execution. The question here is: what happens to the free
    identifiers of network-transmitted procedures? Obliq takes the
    view that such identifiers are bound to their original locations,
    as prescribed by lexical scoping, even when these locations belong
    to different network sites.

-- 
--
Mark Friedman
NASA-Ames Research Center
MS 269-2
Moffett Field, CA 94035-1000

vmail: (415) 604-0573
email: bobo@ptolemy.arc.nasa.gov
