<div dir="ltr"><div><div>Thanks, Frank.<br><br></div>Maybe I wasn'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"><<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>></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ć <<a href="mailto:laza@e11bits.com">laza@e11bits.com</a>> wrote:<br>
> Hi!<br>
><br>
> Just to get myself up to date on the latest. Is it still true, that we got<br>
> three independent VMs?<br>
><br>
> 1. Interpreter VM<br>
> 2. Stack VM<br>
> 3. Cog<br>
><br>
> So as I recall the Stack VM was planned to replace the Interpreter VM<br>
> entirely. Or are there any cases were one only could use an Interpreter VM<br>
> (or cog)? Or is the Stack VM the all versatile VM by now? What are the<br>
> 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>
> It might not come as a surprise, but I haven't looked into the VM code<br>
> lately. But I recall that the linux VM at least uses the modules framework<br>
> to have different display, sound, etc. plugins for the VM. I don't know how<br>
> interleaved the VMs from above are, but would it be out of scope to have<br>
> _one_ VM that could have different object engines as VM plugins? So the VM<br>
> could check the architecture it's running on and the image that should be<br>
> loaded and decide on that what object engine to load/use?<br>
<br>
</div>I'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'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>
> The obvious benefit for the enduser I see is: *There is only one VM !*<br>
><br>
> The benefit for VM developers might be that they only need to focus on the<br>
> object engines and they would share a common VM frame.<br>
><br>
> This might be a "well yes, but too much work" thing, but nevertheless it's<br>
> something I would like to share.<br>
><br>
> (If turns out that the energy would better invested into something<br>
> different, there is also the possibility to use the package system on debian<br>
> derived systems, that would take care to install the right VMs on such<br>
> system, so that the enduser wouldn't need to worry about this. And I guess<br>
> there is a similar mechanism for windows and mac)<br>
><br>
> Alex<br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>