Hi Alex<br><br><div class="gmail_quote">On Mon, Feb 4, 2013 at 1:52 PM, Alexander Lazarević <span dir="ltr">&lt;<a href="mailto:laza@e11bits.com" target="_blank">laza@e11bits.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"><div><div>Thanks, Frank.<br><br></div>Maybe I wasn&#39;t that clear. I wanted to know if it would be possible to have one vm for linux, Windows, Mac, ..., that could use an interpreter object engine, stack object engine or a cog object engine. <br>
</div></div></blockquote><div><br></div><div>I&#39;m still not sure I understand the question.  Yes, you can run &quot;one&quot; VM on the three platforms, in fact any one.  Cog runs on all three.  The Interpreter runs on all three.  The StackVM runs on all three.  No, you can&#39;t have _just one_ VM because each VM executable is specific to a given OS/processor combination.</div>
<div><br></div><div>So what are you really asking?  Do you want the &quot;all-in-one&quot; which has three VMs hidden inside it?  Do you want a universal binary?  Or what?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div>

<br></div>Alex<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">2013/2/4 Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On 4 February 2013 21:08, Alexander Lazarević &lt;<a href="mailto:laza@e11bits.com" target="_blank">laza@e11bits.com</a>&gt; wrote:<br>



&gt; Hi!<br>
&gt;<br>
&gt; Just to get myself up to date on the latest. Is it still true, that we got<br>
&gt; three independent VMs?<br>
&gt;<br>
&gt; 1. Interpreter VM<br>
&gt; 2. Stack VM<br>
&gt; 3. Cog<br>
&gt;<br>
&gt; So as I recall the Stack VM was planned to replace the Interpreter VM<br>
&gt; entirely. Or are there any cases were one only could use an Interpreter VM<br>
&gt; (or cog)? Or is the Stack VM the all versatile VM by now? What are the<br>
&gt; requirements for cog to run?<br>
<br>
</div>If you have a 64 bit machine and no way to install 32 bit libraries<br>
(Heroku, say), then Interpreter VM is your only choice. (Or, 32 bit<br>
libs are a requirement for Cog.)<br>
<div><br>
&gt; It might not come as a surprise, but I haven&#39;t looked into the VM code<br>
&gt; lately. But I recall that the linux VM at least uses the modules framework<br>
&gt; to have different display, sound, etc. plugins for the VM. I don&#39;t know how<br>
&gt; interleaved the VMs from above are, but would it be out of scope to have<br>
&gt; _one_ VM that could have different object engines as VM plugins? So the VM<br>
&gt; could check the architecture it&#39;s running on and the image that should be<br>
&gt; loaded and decide on that what object engine to load/use?<br>
<br>
</div>I&#39;ll leave it to others to answer definitively but I suspect the<br>
answer is that while you can share the codebase to a large extent, you<br>
can&#39;t have a cross-platform binary. Squeak does run on at least OS X,<br>
Linux, FreeBSD, Windows, RISC OS.<br>
<span><font color="#888888"><br>
frank<br>
</font></span><div><div><br>
&gt; The obvious benefit for the enduser I see is: *There is only one VM !*<br>
&gt;<br>
&gt; The benefit for VM developers might be that they only need to focus on the<br>
&gt; object engines and they would share a common VM frame.<br>
&gt;<br>
&gt; This might be a &quot;well yes, but too much work&quot; thing, but nevertheless it&#39;s<br>
&gt; something I would like to share.<br>
&gt;<br>
&gt; (If turns out that the energy would better invested into something<br>
&gt; different, there is also the possibility to use the package system on debian<br>
&gt; derived systems, that would take care to install the right VMs on such<br>
&gt; system, so that the enduser wouldn&#39;t need to worry about this. And I guess<br>
&gt; there is a similar mechanism for windows and mac)<br>
&gt;<br>
&gt; Alex<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>
</div></div><br><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>