<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Georgia">Seems like you could do that fairly easily
without </font>making the VM re-entrant (whatever that might
mean/entail). If you thought of your Squeak app and your C app as
two computers on a network, they could send each other requests and
responses all day long. No magic required.<br>
<br>
Cheers,<br>
Bob<br>
<br>
<div class="moz-cite-prefix">On 12/3/12 10:10 AM, Blake McBride
wrote:<br>
</div>
<blockquote
cite="mid:CABwHSOujaYjdLeDQwNDx2T-f5DE+TVq4y-tasJYhdsZU+6AkiQ@mail.gmail.com"
type="cite"><span class="Apple-style-span"
style="border-collapse:collapse;color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">Greetings,
<div><br>
</div>
<div>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. </div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>Just sharing some thoughts. Thanks.</div>
<div><br>
</div>
<div>Blake McBride</div>
</span><br>
<div class="gmail_quote">On Sun, Dec 2, 2012 at 7:55 PM, Eliot
Miranda <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">...in <span
style="font-size:14px;font-family:arial,sans-serif"><a
moz-do-not-send="true"
href="http://www.mirandabanda.org/files/Cog/VM/VM.r2628"
target="_blank"><font color="#1155cc">http://www.mirandabanda.</font>org/files/Cog/VM/VM.r2628</a>.</span>
<div>
<font color="#000000" face="arial, sans-serif"><br>
</font></div>
<div><font color="#000000" face="arial, sans-serif">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.<span class="HOEnZb"><font
color="#888888"><br>
</font></span></font><span class="HOEnZb"><font
color="#888888">-- <br>
best,
<div>Eliot</div>
<br>
</font></span></div>
<br>
<br>
<br>
</blockquote>
</div>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">
</pre>
</blockquote>
<br>
</body>
</html>