<div dir="ltr"><br><br><div class="gmail_quote">On Wed, Jul 23, 2008 at 6:34 AM, Klaus D. Witzel <<a href="mailto:klaus.witzel@cobss.com">klaus.witzel@cobss.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Eliot,<div class="Ih2E3d"><br>
<br>
on Wed, 23 Jul 2008 03:14:51 +0200, you wrote:<br>
<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="Ih2E3d">
Hi All,<br>
I've made a significant step today in making available the first cut of<br>
my closure scheme. There is a new blog post on<br>
</div><a href="http://www.mirandabanda.org/cogblogabout" target="_blank">www.mirandabanda.org/cogblogabout</a> the closure bytecodes which at the<div class="Ih2E3d"><br>
end includes a pointer to the<br>
bootstrap @ <a href="http://www.mirandabanda.org/files/Cog/Closures0808/Bootstrap/" target="_blank">www.mirandabanda.org/files/Cog/Closures0808/Bootstrap/</a>. The<br>
bootstrap has been tested on internal Qwaq images, and on Croquet 1.0 and<br>
Squeak 3.9.<br>
</div></blockquote>
<br>
Terrific !<div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'd love to hear of other ports, e.g. to 3.10 and to Spoon.<br>
I'm interested in bug reports (I haven't yet tested eToys) and code reviews<br>
</blockquote>
<br></div>
I've parsed quite a bunch of the .cs files from your directory and found only *good* things (since I have not much to compare against when reading them with a web browser ;) like for example #methodClass during boot; also putting (s := myStream upToEnd) into Parser's loop on ReparseAfterSourceEditing; also the new bytecodes which look damned cool ! :)<br>
<br>
Wish I could compare more, against original methods and by using Smalltalk tools for example, what 3.9 plus VMMaker did you use (patches?). Can I prepare an .image by myself or do you intend to upload a prepared one?</blockquote>
<div><br></div><div>I didn't use a VMMaker in 3.9. I simply used the modified Qwaq VM to run all bootstraps. But I did run the bootstrap in Qwaq internal images, Croquet 1.0.18 and Squeak3.9-final-7067.</div><div><br>
</div><div>I think at this stage the code is too green for me to upload a prepared image. I'd rather people built their own. That way I can still fix and change details before things get too frozen.</div><div><br></div>
<div>One example is whether to use indexed inst vars to hold copied values in BlockClosure, or as I do currently to use an Array. If using an inst var closure creation is slower but adding inst vars is easy. If using indexed inst vars then either the VM makes it impossible to add inst vars (something up with which I shall not put) or the code for evaluation is slowed down because the VM needs to find the size of the closure and the number of named slots. So there needs to be a performance evaluation done of each approach.</div>
<div><br></div><div>Another example is temp names for the debugger and for sourceless methods. I'm not sure I've got the former right and I broke the latter. I suspect that there is a middle ground that solves both of these.</div>
<div><br></div><div>So for now build your own images and contact me with comments, suggestions fixes etc, either directly or to the blog. Eventually I'll have to grok some form of issue tracking (and suggestions are welcome) but for now I'll keep it cheap and cheerful.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br><font color="#888888">
<br>
/Klaus</font><div><div></div><div class="Wj3C7c"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
and tying up loose ends (for example I broke decompile with temp names and<br>
haven't fixed it).<br>
<br>
Thanks and enjoy.<br>
</blockquote>
<br>
<br>
<br>
</div></div></blockquote></div><br></div>