Re: [friam] Classification of actor languages

"Mark S. Miller" <[email protected]> Mon, 16 Feb 2015 12:37:42 -0800
Newsgroups gmane.comp.lang.e.general
Message-ID <CABHxS9iVy1+B+crUyLzfs+V630rq1=fw=Ggxe1PMkjXHOivRKQ@mail.gmail.com>
--===============0659899084856811270==
Content-Type: multipart/alternative; boundary=90e6ba1efc12dce73c050f3a8e13

--90e6ba1efc12dce73c050f3a8e13
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Carl, what do you mean by "interface" here? It doesn't sound like any
foundational concept I know of from my long study of Actors.



On Mon, Feb 16, 2015 at 12:34 PM, Carl Hewitt <[email protected]> wrote:

>  Hi Tom,
>
>
>
> It should **not** be the case that having an address for
>
> an interface to an Actor automatically enables sending messages
>
> to other interfaces of the Actor. The only way to obtain
>
> addresses for other interfaces is for them to be communicated
>
> in messages by the Actor.
>
>
>
> In this respect, Java and C# are **not** proper Actor programming
> languages
>
> because it is possible to **externally** cast from one interface of an
> Actor to another :-(
>
>
>
> Cheers,
>
> Carl
>
>
>
>
>
> *From:* friam-/[email protected] [mailto:friam-/[email protected]] *On Behalf
> Of *Tom Van Cutsem
> *Sent:* Monday, February 16, 2015 12:24
> *To:* friam-/[email protected]
> *Cc:* Discussion of E and other capability languages
> *Subject:* Re: [friam] Classification of actor languages
>
>
>
> Hi Carl,
>
>
>
> 2015-02-14 1:19 GMT+01:00 Carl Hewitt <[email protected]>:
>
>   Of course, an Actor can implement multiple interfaces.
>
>
>
> I am wondering how a =E2=80=9Cfacet=E2=80=9D relates to an interface.
>
>
>
> Indeed, an actor can implement multiple interfaces, but this typically
> means that anyone having a reference to the actor can send any message fr=
om
> the union of all interface methods. By contrast, in a vat with multiple
> facets, a reference to a facet provides access to only the methods expose=
d
> by that facet. Thus, facets make it easier to restrict authority.
>
>
>
> Of course, one could encode facets in a pure actor model, by passing a
> token designating the facet as part of the message. The actor can be
> programmed to dispatch the message to an internal object only if the toke=
n
> matches. But this would be an encoding of the vat model in a pure actor
> model.
>
>
>
> Cheers,
>
> Tom
>
> --
> You received this message because you are subscribed to the Google Groups
> "friam" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to friam+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
> To post to this group, send email to friam-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
> Visit this group at http://groups.google.com/group/friam.
> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "friam" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to friam+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
> To post to this group, send email to friam-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
> Visit this group at http://groups.google.com/group/friam.
> For more options, visit https://groups.google.com/d/optout.
>



--=20
    Cheers,
    --MarkM

--90e6ba1efc12dce73c050f3a8e13
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Carl, what do you mean by &quot;interface&quot; here? It d=
oesn&#39;t sound like any foundational concept I know of from my long study=
 of Actors.<div><br></div><div><br></div></div><div class=3D"gmail_extra"><=
br><div class=3D"gmail_quote">On Mon, Feb 16, 2015 at 12:34 PM, Carl Hewitt=
 <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=3D"_bla=
nk">[email protected]</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">Hi Tom,<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black"><u></u>=C2=A0<u></u></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">It should *<b>not</b>* be =
the case that having an address for
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">an interface to an Actor a=
utomatically enables sending messages<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">to other interfaces of the=
 Actor. The only way to obtain<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">addresses for other interf=
aces is for them to be communicated<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">in messages by the Actor.<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black"><u></u>=C2=A0<u></u></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">In this respect, Java and =
C# are *<b>not</b>* proper Actor programming languages<u></u><u></u></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">because it is possible to =
*<b>externally</b>* cast from one interface of an Actor to another :-(<u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black"><u></u>=C2=A0<u></u></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">Cheers,<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black">Carl<u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black"><u></u>=C2=A0<u></u></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Mi=
crosoft Sans Serif&quot;,sans-serif;color:black"><u></u>=C2=A0<u></u></span=
></p>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><b><span style=3D"font-si=
ze:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span=
 style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> <a =
href=3D"mailto:friam-/[email protected]" target=3D"_blank">friam@googlegroups=
.com</a> [mailto:<a href=3D"mailto:friam-/[email protected]" target=3D"_blank=
">friam-/[email protected]</a>]
<b>On Behalf Of </b>Tom Van Cutsem<br>
<b>Sent:</b> Monday, February 16, 2015 12:24<br>
<b>To:</b> <a href=3D"mailto:friam-/[email protected]" target=3D"_blank">fria=
[email protected]</a><br>
<b>Cc:</b> Discussion of E and other capability languages<br>
<b>Subject:</b> Re: [friam] Classification of actor languages<u></u><u></u>=
</span></p><div><div class=3D"h5">
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">Hi Carl,<u></u><u></u></p=
>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">2015-02-14 1:19 GMT+01:00=
 Carl Hewitt &lt;<a href=3D"mailto:[email protected]" target=3D"_blank">he=
[email protected]</a>&gt;:<u></u><u></u></p>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#1f497d">Of course, an Actor can implement multiple interfaces.</span=
><u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#1f497d">I am wondering how a =E2=80=9Cfacet=E2=80=9D relates to an i=
nterface.</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">Indeed, an actor can impl=
ement multiple interfaces, but this typically means that anyone having a re=
ference to the actor can send any message from the union of all interface m=
ethods. By contrast, in a vat with multiple
 facets, a reference to a facet provides access to only the methods exposed=
 by that facet. Thus, facets make it easier to restrict authority.<u></u><u=
></u></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">Of course, one could enco=
de facets in a pure actor model, by passing a token designating the facet a=
s part of the message. The actor can be programmed to dispatch the message =
to an internal object only if the token
 matches. But this would be an encoding of the vat model in a pure actor mo=
del.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">Cheers,<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">Tom<u></u><u></u></p>
</div>
</div>
</div>
</div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;friam&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to
<a href=3D"mailto:friam+unsubscribe-/[email protected]" target=3D"_blank">fri=
am+unsubscribe-/[email protected]</a>.<br>
To post to this group, send email to <a href=3D"mailto:[email protected]=
om" target=3D"_blank">friam-/[email protected]</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/group/friam" target=
=3D"_blank">http://groups.google.com/group/friam</a>.<br>
For more options, visit <a href=3D"https://groups.google.com/d/optout" targ=
et=3D"_blank">https://groups.google.com/d/optout</a>.<u></u><u></u></p>
</div></div></div>
</div><div class=3D"HOEnZb"><div class=3D"h5">


<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;friam&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:friam+unsubscribe-/[email protected]" target=3D"_bl=
ank">friam+unsubscribe-/[email protected]</a>.<br>
To post to this group, send email to <a href=3D"mailto:[email protected]=
om" target=3D"_blank">friam-/[email protected]</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/group/friam" target=
=3D"_blank">http://groups.google.com/group/friam</a>.<br>
For more options, visit <a href=3D"https://groups.google.com/d/optout" targ=
et=3D"_blank">https://groups.google.com/d/optout</a>.<br>
</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
<div class=3D"gmail_signature">=C2=A0 =C2=A0 Cheers,<br>=C2=A0 =C2=A0 --Mar=
kM</div>
</div>

--90e6ba1efc12dce73c050f3a8e13--

--===============0659899084856811270==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============0659899084856811270==--