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 "interface" here? It d= oesn'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"><<a href=3D"mailto:[email protected]" target=3D"_bla= nk">[email protected]</a>></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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",sans-serif;color:black">Carl<u></u><u></u></span><= /p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Mi= crosoft Sans Serif",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:"Mi= crosoft Sans Serif",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:"Calibri",sans-serif">From:</span></b><span= style=3D"font-size:11.0pt;font-family:"Calibri",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 <<a href=3D"mailto:[email protected]" target=3D"_blank">he= [email protected]</a>>:<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:"Calibri",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:"Calibri",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:"Calibri",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" 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" 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==--