<div dir="ltr">Hi Charli,<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jan 28, 2014 at 5:54 PM, charlie robert <span dir="ltr">&lt;<a href="mailto:charlie.robert@icloud.com" target="_blank">charlie.robert@icloud.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><span></span></div><div><div>I was thinking that handle may be a capability ref, mutable in the scope of the ref state machine.<br>
</div></div></div></blockquote><div><br></div><div>Perhaps you&#39;re assuming much more knowledge about Cap&#39;n Proto than I have.  Could you explain the above?  I have no idea which state machine you&#39;re talking about.  Sorry :-(</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><div></div><div><br>Thank you,<br><div>Robert</div></div><div><div class="h5"><div>
<br><div><br></div>On Jan 28, 2014, at 2:36 PM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr"><br>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jan 28, 2014 at 1:08 PM, Colin Putney <span dir="ltr">&lt;<a href="mailto:colin@wiresong.com" target="_blank">colin@wiresong.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>On Tue, Jan 28, 2014 at 3:54 PM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt; wrote:<br>


<br>
&gt; <a href="https://plus.google.com/+KentonVarda/posts/GRJ4h4w2UN9" target="_blank">https://plus.google.com/+KentonVarda/posts/GRJ4h4w2UN9</a>?  Or am I being<br>
&gt; cynical?<br>
<br>
</div>Yeah, I think that&#39;s what he was talking about. It&#39;s hard to see how<br>
dynamic languages could use Cap&#39;n Proto, because they don&#39;t tend to<br>
give enough low-level control over memory layout in the heap.<br></blockquote><div><br></div><div>Wouldn&#39;t pinning be enough?  No, because one needs to intermix binary data and objects.  But if one added a ref type, or some object handle type, so there&#39;s just one level of indirection from a handle in the protobuf and an object, that might get far enough no?</div>

<div><br></div><div>The alternative would be to add struct support to Spur which might be doable.  But it&#39;s a lot of work for a rather specific application.  Anyway, I&#39;m open to others experimenting on this.</div>

<div><br></div><div>Reminds me of work Tony Mann at Harlequin did or described to me, which again is reminiscent of Digitalk&#39;s object layout.  The idea is to have the class reference in an object (even if this is an index into a table) not point directly to the class object, but to refer to some intermediate, possibly hidden, structure.</div>

<div><br></div><div>In The Harlequin case this structure included code that would be run by the GC to traverse the object, which is how the system supports heterogenous structures, and saves on a size field (except for variable-sized objects).</div>

</div><div class="gmail_extra"><br></div>In the Digitalk case the structure is a method dictionary, which allows the system to support easily instance-specific behaviours.  (Forgive the digression).<br>-- <br>best,<div>Eliot</div>


</div></div>
</div></blockquote><blockquote type="cite"><div><span></span><br></div></blockquote></div></div></div></div><br><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>