We could think of some kind of version of RAM where each 'cell' would implement this behavior.
Perhaps similar optimizations like HashLife could be developed for such special purpose hardware as well.
We could think of some kind of version of RAM where each 'cell' would implement this behavior.
Perhaps similar optimizations like HashLife could be developed for such special purpose hardware as well.
Hashlife's data structure is a quad tree embedded in a hash table. Most Hashlife instances only spend a few short moments simulating cellular automata at the "ground level"— the real work involves combining the future of the children of a quad tree node into the future of the node. That might be optimizable, but it feels extremely application-specific.
Edit: shameless, shameless plug: https://rezmason.github.io/wireworld-player/?engine=macrocel...
There could certainly be a dedicated hardware implementation of HashLife. It would not be based on the idea "cells are almost bits", nor would it be faster than a direct CPU implementation of Lisp.
Or is HashLife doing something like "Calculating state N + 100 without having to calculate all states in between?
By the way, with all the passion for Lisp, simple but Turing-complete systems, and programming that I put into this project, I'm very happy that other people have enjoyed it too. Thanks to everyone for checking it out!