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

RE: [moca] How important is restriction?



> From: Luis Rodrigo Gallardo [mailto:lrgallardo@xxxxxxxxxxxxxxxx] 
> Sent: 30 October 2003 19:37
> To: Andy Gordon
> Cc: moca@xxxxxxxxxxxxxxx
> Subject: Re: [moca] How important is restriction?
> 
> On Thu, Oct 30, 2003 at 05:38:31PM -0000, Andy Gordon wrote:
> > > But on doing this I have bumped against a problem: Python is a 
> > > block-structured language without variable declarations.
> > > That means that all names are local by default. (Or am I wrong 
> > > here?) This is something I want to keep.
> > 
> > I would proceed by not identifying ambient calculus names with
Python 
> > variables, but instead treating an ambient name as the value bound
to 
> > a Python variable.  You'd need some kind of "gensym" or "new"
operator 
> > to generate fresh names.  This is just like the way a variable in
Java 
> > say has a local, lexical scope, but it may get bound at runtime to a

> > heap reference that has an independent lifetime.
> > 
> Let me see if I understand:
> 
> By doing this, I would get a way to generate 'fresh' names, 
> known only to one process, that it can then communicate at 
> will.

Right.

> But, if this is the only way to generate names, there 
> would be no way to have globaly known names.

Well, global names could be represented as strings in some way, for
example, by URIs.

> This is actually what I meant to ask at first. How would the 
> AC be affected in its theoretical power if there was no 
> 'internal' mechanism to have a global name.

I don't really know what this would mean formally; the name of a running
ambient is either free or new-bound, and a free name is in some sense
global, while a new-bound name is local.  To rule out global names, I
suppose we could consider the set of processes with no free names, but
theoretically these are all observationally equivalent to the nil
process.

> What I mean about 
> 'internal' is that I could have some ad-hoc way to distribute 
> such names, not by a language mechanism but by means of some 
> compiler specific behaviour.

I'm suggesting URIs as an ad-hoc way of distributing global names.  This
problem arises for any distributed language.  We do need some global,
shared names.  You could also check out how its addressed by Pierce and
Turner's Pict and by Fournet, Levy, and Schmitt's JoCaml implementation
of ambients. (I can't remember offhand.)

All the best,

Andy

  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The "models for mobility" mailing list     mailto:moca@xxxxxxxxxxxxxxx
 http://www-sop.inria.fr/mimosa/personnel/Davide.Sangiorgi/moca.html