Re: Question about E's history.

Dean Tribble <[email protected]> Sun, 12 Jun 2011 10:48:40 -0700
Newsgroups gmane.comp.lang.e.general
Message-ID <[email protected]>
Agreed. The larger islands of sequential programming in E were quite a
benefit for many kinds of programming,and is probably the key insight in teh
E computational model. A straightforward interpretation of "coarse-grained
actor" would have multiple capabilities into the shared state of the
"actor". The important addition is that, in a vat, the set of
capabilities available from outside the vat to the state in the vat can
change dynamically. Thus, I think of is as a worthy alternative to
fine-grained actors models.

On Sun, Jun 12, 2011 at 6:17 AM, Tom Van Cutsem <[email protected]> wrote:

> Yes, the notion of a "vat" as a container of objects is definitely another
> one of E's distinguishing features. Your observation that a vat corresponds
> to a classical actor is correct, which is why we ended up calling vats
> "actors" in AmbientTalk (in hindsight, we probably should have sticked to E
> terminology).
>
> The notion of a "vat" as a container of objects is in itself not novel.
> This was also a feature of what I have come to call the school of "active
> object" languages. Denis Caromel's "ProActive" middleware for Java (and
> prior to that, his Eiffel// extension to Eiffel), and Varela and Agha's
> "Salsa" extension to Java are good examples of this. In active object
> models, one typically distinguishes "active" from regular, or "passive"
> objects: the active objects have their own message queue, and their behavior
> is typically composed of passive objects.
>
> What sets apart the E vat model from these models is that in E, one can
> individually designate the objects internal to a vat from outside the vat.
> In active object models, external objects can only designate the active
> object as a whole, never one of its internal objects (just like in Erlang,
> one can only ever reference a process Pid, never a data structure internal
> to a process).
>
> The beauty of the E vat model as opposed to e.g. the Erlang model, as I
> once heard Mark explain it, is that internally, each vat can use traditional
> imperative OOP to build more complex abstractions with ease, such that one
> only has to deal with asynchrony and distributed computing issues when it is
> strictly necessary to do so. By contrast, in Erlang, the notion of mutable
> state is intimately tied to concurrent processes (one typically encapsulates
> individual mutable data structures inside a single process), so that one
> necessarily must think about issues of concurrent programming even for what
> ought to be a simple, local data access. AFAICT, this is an important
> software engineering argument that has hitherto been insufficiently
> articulated by proponents of the vat/communicating event loops model.
>
>

_______________________________________________
e-lang mailing list
[email protected]
http://www.eros-os.org/mailman/listinfo/e-lang