<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>

<br></div>Alex<br></div><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 class="im">On 4 February 2013 21:08, Alexander Lazarević &lt;<a href="mailto:laza@e11bits.com">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 class="im"><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 class="HOEnZb"><font color="#888888"><br>
frank<br>
</font></span><div class="HOEnZb"><div class="h5"><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>