<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 9, 2013 at 10:32 AM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.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="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Mon, Dec 9, 2013 at 2:01 AM, <a href="mailto:phil@highoctane.be" target="_blank">phil@highoctane.be</a> <span dir="ltr">&lt;<a href="mailto:phil@highoctane.be" target="_blank">phil@highoctane.be</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="ltr">The main issue is that it is complicated to embed the VM in C code.<div>That&#39;s due to how the VM is done.</div>

<div><br></div><div>Compared to TCL, where you can easily embed the interpreter in a C program, this is a problem. <a href="http://wiki.tcl.tk/3474" target="_blank">http://wiki.tcl.tk/3474</a></div>

<div><br></div><div>Where you can embed the interpreter in a C program, you can do whatever integration you want.</div><div><br></div><div>Now, with NativeBoost, we can call C. The next challenge would be to be able to call Pharo from C by embedding the interpreter.</div>



<div><br></div><div>I am curious to  see what you guys think about this.</div></div></blockquote><div><br></div></div><div>It is non-trivial, but possible (I&#39;ve done it twice with VisualWorks).  Spur should help (pinning is important).  Callbacks r essential (Cog provides them).</div>

<div><br></div><div>1. the VM is restructured as a launch .exe and a dll.</div><div>2. the VM is restructured so that one can include an image as a resource (windows exe&#39;s) or static data (e.g. unix); one can use an image file but if one really wants a library it must exist just as a library</div>

<div>3. one needs an API to the VM, and essentially that requires an object request broker (ORB) between the API and callbacks into the image, so that one can query for objects (including selectors) to be able to send messages to them</div>

<div><br></div><div>Note that step 3. can be implemented as a small stand-alone library that talks to the VM running in a separate process, and on multi-core machines this can be a more robust architecture; there&#39;s no protection against a program corrupting the Smalltalk heap if the heap is in that program&#39;s address space.  But if the requirement is really a linkable library (that does not spawn processes) then that&#39;s what one builds.</div>
<div class="im">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I would love to see things like mod_pharo (as there is mod_php, mod_perl, mod_tcl...) in Apache.</div>

</div></blockquote><div><br></div></div><div>I embedded VW in a web browser as a Netscape plugin using both variants of 3. above back in the 90&#39;s.  It is very possible.  The limiting factors are time and money as usual.</div>

<div><br></div><div><br></div><div>I would love for VM discussions to be carried out on vm-dev ;-)</div></div></div></div></blockquote><div><br></div><div>or at least cc&#39;ed there...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5"><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_extra"><div><div dir="ltr"><div>---</div><div>Philippe Back</div><div>Dramatic Performance Improvements</div><div>Mob: <a href="tel:%2B32%280%29%20478%20650%20140" value="+32478650140" target="_blank">+32(0) 478 650 140</a> | Fax: <a href="tel:%2B32%20%280%29%2070%20408%20027" value="+3270408027" target="_blank">+32 (0) 70 408 027</a></div>



<div><a href="mailto:Mail%3Aphil@highoctane.be" target="_blank">Mail:phil@highoctane.be</a> | Web: <a href="http://philippeback.eu" target="_blank">http://philippeback.eu</a></div><div>Blog: <a href="http://philippeback.be" target="_blank">http://philippeback.be</a> | Twitter: @philippeback</div>



<div>Youtube: <a href="http://www.youtube.com/user/philippeback/videos" target="_blank">http://www.youtube.com/user/philippeback/videos</a></div><div><br></div><div>High Octane SPRL</div><div>rue cour Boisacq 101 | 1301 Bierges | Belgium</div>



<div><br></div><div>Pharo Consortium Member - <a href="http://consortium.pharo.org/" target="_blank">http://consortium.pharo.org/</a></div><div>Featured on the Software Process and Measurement Cast - <a href="http://spamcast.libsyn.com" target="_blank">http://spamcast.libsyn.com</a><br>



</div><div>Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller</div><div> </div><div><br></div></div></div><div><div>
<br><br><div class="gmail_quote">On Mon, Dec 9, 2013 at 9:48 AM, kilon alios <span dir="ltr">&lt;<a href="mailto:kilon.alios@gmail.com" target="_blank">kilon.alios@gmail.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="ltr">please note that generating dlls alone wont be enough , plugins are compiled against a runtime or specific libraries (a Plugin SDK) and Smalltalk MT would have to be able to do that in order to be a viable solution.   </div>




<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 9, 2013 at 10:28 AM, Stéphane Ducasse <span dir="ltr">&lt;<a href="mailto:stephane.ducasse@inria.fr" target="_blank">stephane.ducasse@inria.fr</a>&gt;</span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">You should think that they use their smalltalk for their projects.<div><br></div><div>




Stef</div><div><br><div><div><div>On Dec 9, 2013, at 9:21 AM, Clément Bera &lt;<a href="mailto:bera.clement@gmail.com" target="_blank">bera.clement@gmail.com</a>&gt; wrote:</div><br></div><blockquote type="cite">
<div dir="ltr"><div>How can people even know Smalltalk MT still exist with their website and their communication ?<div><br></div><div>I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on &quot;what&#39;s new&quot; on their website and I got that:</div>






<div><br></div></div><div><span>&lt;Screen Shot 2013-12-09 at 9.18.11 AM.png&gt;</span></div><div><div><br></div><div>Then I thought this Smalltalk was dead (nothing new in the past 4 years) and I didn&#39;t look any further.</div>




</div></div><div>

<div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/8 Stéphane Ducasse <span dir="ltr">&lt;<a href="mailto:stephane.ducasse@inria.fr" target="_blank">stephane.ducasse@inria.fr</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






<div><br>
&gt; Yes - still alive and kicking. But I&#39;m sure you did not notice since there<br>
&gt; are no &quot;big&quot; announcements or advertising for it.<br>
&gt; ObjectConnect follows the &quot;time is better invested into technology&quot; strategy.<br>
&gt; It is one of the most interesting Smalltalks ever implemented.<br>
<br>
</div><a href="http://www.objectconnect.com/stmt_overview.htm" target="_blank">http://www.objectconnect.com/stmt_overview.htm</a><br>
I like the idea that you can get 50kb applications.<br>
Now since this is a closed system and windows-centric.<br>
But I like that it shows that Smalltalk does not have to be the image centric way.<br>
<div><br>
&gt;<br>
&gt; The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013<br>
<br>
</div>Now it is not a community thing. :)<br>
And the web site stop and 5.6 in 2009.<br>
<br>
Last time I talk to tarrick he told me that he could control the &quot;no gc in the next 250 frames on PS2&quot;<br>
but it was in 1998 :)<br>
<br>
<br>
Stef<br>
</blockquote></div><br></div>
</div></blockquote></div><br></div></div></blockquote></div><br></div>
</blockquote></div><br></div></div></div>
</blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>