<div dir="ltr"><div>On Mon, Jan 16, 2023 at 12:55 PM tim Rowledge <<a href="mailto:tim@rowledge.org">tim@rowledge.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>> On 2023-01-16, at 12:00 PM, karl ramberg <<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>> wrote:<br>
> <br>
> Very cool. I would not volunteer to refactor that :-D<br>
> <br>
> It's tricky to get high performance GameOfLife in Squeak. <br>
<br>
Have you never seen the BitBLT based version Dan Ingalls wrote a gazillion years ago? It used to be in the Squeak image, or at least I feel pretty sure it was.<br>
<br>
Oh, wait! It was written up in the Byte81 issue, so see <a href="https://archive.org/details/byte-magazine-1981-08/page/n181/mode/2up?view=theater" rel="noreferrer" target="_blank">https://archive.org/details/byte-magazine-1981-08/page/n181/mode/2up?view=theater</a> and the following pages.</blockquote><div><br></div><div>That still computes every cell in every generation, even if pretty efficiently.</div><div><br></div><div>Simulations of this magnitude use the HashLife algorithm which memoizes groups of cells in quad trees and can skip multiple generations ahead. Don't think I've seen that implemented in Smalltalk.</div><div><br></div><div>A while ago I fell down a rabbit hole exploring how the OTCA Metapixel life cell worked (the Lisp CPU gates and wires are constructed from cells using non-traditional life rules, implemented on that meta cell). </div><div><br></div><div>Meta life inception:</div><div dir="ltr"><a href="https://www.youtube.com/watch?v=4lO0iZDzzXk">https://www.youtube.com/watch?v=4lO0iZDzzXk</a><br></div><div><br></div><div>Fascinating.</div><div><br></div><div>Vanessa</div><br><div class="gmail_quote"></div><div> </div></div></div>