Lisp in Life is a Lisp interpreter implemented in Conway's Game of Life.
[...] The Lisp interpreter, written in C, is compiled to an assembly language for a CPU architecture implemented in the Game of Life, which is a modification of the computer used in the Quest For Tetris (QFT) project. The compilation is done using an extended version of ELVM (the Esoteric Language Virtual Machine). The Game of Life backend for ELVM was implemented by myself.
Generating a short enough Lisp interpreter assembly code and a Game of Life pattern that runs in a reasonable amount of time required a lot of effort.
Having an infinite size Game of Life grid [...] reduces the chances that any pattern will wrap around to the other side of the grid.
(Score: 2) by sgleysti on Friday December 24 2021, @06:06PM
Yes, good explanation. To add a little more detail, some of the "entities" in the game of life are called gliders. Per https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life [wikipedia.org],
Lest you think such stunts have no practical application, the recently disclosed ForcedEntry iMessage RCE vulnerability [blogspot.com] involved carefully crafting a PDF file to cause a buffer overflow in the JBIG2 decompression algorithm whose primitive operations were then hijacked to perform logical operations on arbitrary memory locations. From this, the attackers created a virtual machine to run their payload. Stunningly brilliant. Wish the authors would have done more positive things with their prodigious talent.