[Vm-dev] Re: [squeak-dev] New Cog VMs available

Blake McBride blake at mcbride.name
Mon Dec 3 15:23:01 UTC 2012


I tried to integrate Squeak to a C based application more than six years
ago.  The project failed because we were not able to have our application
call Squeak, then have Squeak call the application, and then the
application call Squeak again recursively.  An analysis of the Squeak VM
revealed a kernel design consisting of a lot of global variables - quite
unnecessarily.  The unnecessary use of global variables over a localized
structure for example unnecessarily prevented the use of Squeak as an
extension language (unless you had no recursion).  I spent several days
trying to re-structure the Squeak kernel but I kept running into problems
and just ran out of time.

As a side note, that company I was with ended up making a lot of investment
in Scheme because we were easily able to integrate that language with our
application.  Now, not only is Scheme used heavily within that company but
many of their clients use it too to customize their application.

This brings me to my question, is COG reentrant?  If not, as the author of
COG, I would think it relatively easy to restructure it to be so.  Such a
design capability can make a huge difference to COG's acceptance to many.
 It may even be the reason to switch to COG.

Just sharing some thoughts.  Thanks.

Blake McBride

On Sun, Dec 2, 2012 at 7:55 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

> ...in http://www.mirandabanda.org/files/Cog/VM/VM.r2628.
> These fix a bug with pc mapping that could cause the Vm to crash on simple
> loops containing arithmetic on constants (e.g. 1 to: 20 do: [:i| 1=1]).
>  They also cause the instantiation primitives to pop all their arguments
> rather than assume their argument count is 0 or 1.  More change info
> available in the directory.
> --
> best,
> Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20121203/d834d046/attachment.htm

More information about the Vm-dev mailing list