<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Ok, I'm Robert, for professional reasons and done. &nbsp;Charlie Robert is my nickname from long time back. &nbsp;So let me stick to this email address...<br></div><div><br>On Jan 28, 2014, at 1:54 PM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hi Charlie,<div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 24, 2014 at 9:11 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">I was curious whether java may be used in Cog. &nbsp;I recall a fair project with the serialization and core pojo representation, but my memory &nbsp; Might java interoperate natively, so as to call a java function in smalltalk, as a smalltalk call with a closure/continuation, or perhaps in the other direction? </div>
</blockquote><div><br></div><div>I'm sure one can write a Smalltalk/Java interconnect. &nbsp;There are a number of ways to do it. &nbsp;What are your requirements? &nbsp;What do you mean by "native" operation? &nbsp;e.g. VisualAgeForJava?</div></div></div></div></div></blockquote><div><br></div>My requirements, hmm. &nbsp;&nbsp;<div><br></div><div>1 - I would like to have .class files able to load in your VM/ObjectMemory. &nbsp;</div><div>2 - I would like java byte codes "JITted" into Smalltalk byte codes. &nbsp;</div><div>3 - I would like if one side (squeak) could invoke the other side (java) without explicit wrappers, and vice versa. &nbsp;I mean this as native.</div><div>4 - I would like java serialization support.&nbsp;</div><div>5 - like JVM 8 has a byte code for reflective lookup, I would like Smalltalk bytecodes to have one bytecode for direct invocation, and bypass the reflective meta call</div><div>6 - I want to run scala on Cog/Spur</div><div>7 - then the "JIT"...I would like the program to start in dynamic mode then "JIT" with a call to the inferencer to determine type.</div><div><br></div><div>This way, we have a JVM with mutable refs (become) so it would be a JVM++.<br><div><br></div><div>The thing that gets me is that barely anything really interoperates.</div><div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div>&nbsp;</div><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 style="word-wrap:break-word">&nbsp;COudl a scala type inferencer be built in Spur’s runtime? runtime?</div>
</blockquote><div><br></div><div>I'm not sure what you mean. &nbsp;Could you elaborate? &nbsp;Spur is an object representation and set of garbage collection/memory management facilities. &nbsp;As such wouldn't it live below any type inferencer?</div></div></div></div></div></blockquote><div><br></div>Ok it is the inner Cog axle I think of, not Spur. &nbsp;The lookup and invocation of a send, of a method. &nbsp;At its root handler it could call an inline scala type inferencer.</div><div><br></div><div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div>&nbsp;</div><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 style="word-wrap:break-word"><div>Eliot, I am quite intrigued on your blog post on Spur’s object stack representation. &nbsp;Does this format touch on the heap structure of an object?</div>
</div></blockquote><div><br></div><div>What exactly do you mean by "Spur’s object stack representation"? &nbsp;Do you mean Spur's object representation, or do you mean the ObjStack datatype? &nbsp;The latter is merely a segmented stack, like building OrderedCollection out of a linked list of pages, each page containing up to N elements.</div>
<div>&nbsp;</div></div></div></div></div></blockquote><div><br></div>So Spur specifies heap structure? &nbsp;Vis-a-Vis the lack of interoperability, Cap'n Proto would be just the thing to interoperate java and squeak and scala and groovy. &nbsp; You own the metal so you can do whatever you imagine.</div><div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><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 style="word-wrap:break-word"><div> &nbsp;Either way, using Cap’n Proto in the heap and Spur for the stack/queue structures would be really nice if someone had one. &nbsp;Does a lord or lady own such a magic item +4? &nbsp;on a raspberry?<br>
</div></div></blockquote><div><br></div><div><a href="https://plus.google.com/+KentonVarda/posts/GRJ4h4w2UN9">https://plus.google.com/+KentonVarda/posts/GRJ4h4w2UN9</a>? &nbsp;Or am I being cynical?</div></div></div></div></div></blockquote><div><br></div>I am missing all this, 'cuse me '</div><div><br></div><div>Indeed, best,</div><div>Robert</div><div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>&nbsp;</div><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 style="word-wrap:break-word"><div></div><div><div>so sorry for all that noise ,<br></div><div><div>
<div style="text-indent:0px;letter-spacing:normal;text-align:start;text-transform:none;white-space:normal;word-wrap:break-word;word-spacing:0px"><div style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:start;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:12px;white-space:normal;font-family:Helvetica;word-spacing:0px">
- charlie (Rob WIthers)</div></div></div></div></div></div></blockquote></div><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>
</div></blockquote><blockquote type="cite"><div><span></span><br></div></blockquote></div></div></body></html>