Live data from Hacker News

A Lisp Interpreter Implemented in Conway's Game of Life

github.com

71–80 of 88 posts

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#71
post #56

Earlier quoted context omitted.

Cells activating in random positions seems like a high bar. How robust are you to a rock suddenly appearing inside your body? (e.g. inside your heart?) A lower bar might be being robust to individual spaceships/gliders coming in from outside. But even there a collection of gliders is probably going to break through.

I think it would be cool to have a structure with a line where, no matter where vertically (within a large range of vertical positions) a single glider crossed the line to the right , and no matter which of the 4(?) phases the glider has, signals would be sent somewhere indicating generally where the glider crossed, and the structure eventually returning to how it was (other than the signals it sent out) . Is such a…

It's beginning to look like such patterns do exist. See this comment and the preceding thread: https://www.conwaylife.com/forums/viewtopic.php?p=137171&sid...

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#72

Is there any hardware designed to just run cellular automata? I wonder if it could actually be a very efficient form of calculation, because cells are almost bits, but seem to possess more power than bits. For instance this Lisp in GoL. Could it run faster than lisps on "bit processors" if it ran on special purpose hardware? So instead of 64-bit processors we might have "64-cell processors" ?

Cellular Automata Machines by Toffoli and Margolus. Somewhere over 30 years ago now.

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#73
post #47

Earlier quoted context omitted.

GoL implementations for big systems don't evaluate the cellular automata step-by-step. They implement HashLife - https://en.wikipedia.org/wiki/Hashlife . The first example on that page shows position 6.3+ octillion for a Turing machine, computed in under 30 seconds. If the special purpose hardware ran at 1 THz, it would take about 4 quadrillion seconds to get to the same point, which is a bit over 200 million years.

Special-purpose hardware for cellular automata would not evaluate it "step-by-step" either, but in parallel. Every cell could evaluate its next state independently of others. 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.

"evaluate its next state" is what I meant by "step-by-step".

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.

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#74

One interesting thing about this is that it serves as a kind of simplified demonstration of the kind of computation that must be occurring or could occur with actual cellular biology. DNA really seems somewhat like a tape in a Turing machine (although technically a read-only one). But the entire system does compute a result which is an organism.

You might be interested to learn that DNA is not actually read-only. Besides viruses like HIV and transposable elements which permanently splice themselves in to the host's DNA, antibodies gain specificity through irreversible self-editing of the lymphocyte's genome via a similar (and perhaps, evolutionarily related) mechanism. https://en.wikipedia.org/wiki/V(D)J_recombination

Is the current vaccination sort of editing as well?

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#75
post #47

Earlier quoted context omitted.

GoL implementations for big systems don't evaluate the cellular automata step-by-step. They implement HashLife - https://en.wikipedia.org/wiki/Hashlife . The first example on that page shows position 6.3+ octillion for a Turing machine, computed in under 30 seconds. If the special purpose hardware ran at 1 THz, it would take about 4 quadrillion seconds to get to the same point, which is a bit over 200 million years.

Special-purpose hardware for cellular automata would not evaluate it "step-by-step" either, but in parallel. Every cell could evaluate its next state independently of others. 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.

Fpga ?

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#76
post #56

Earlier quoted context omitted.

I think it would be cool to have a structure with a line where, no matter where vertically (within a large range of vertical positions) a single glider crossed the line to the right , and no matter which of the 4(?) phases the glider has, signals would be sent somewhere indicating generally where the glider crossed, and the structure eventually returning to how it was (other than the signals it sent out) . Is such a…

It's beginning to look like such patterns do exist. See this comment and the preceding thread: https://www.conwaylife.com/forums/viewtopic.php?p=137171&sid...

Oh! Very nice! Thank you!

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#77

Earlier quoted context omitted.

This is great thought. How many transistors make computer interesting has some parallels with how many neutrons create consciousness.

I suspect you mean neurons , but yes, a given amount of neutrons are also apparently needed for consciousness!

Yes neurons for some reason my phone doesn’t like it and autocorrects, missed it.

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#78
post #56

Earlier quoted context omitted.

Cells activating in random positions seems like a high bar. How robust are you to a rock suddenly appearing inside your body? (e.g. inside your heart?) A lower bar might be being robust to individual spaceships/gliders coming in from outside. But even there a collection of gliders is probably going to break through.

I think it would be cool to have a structure with a line where, no matter where vertically (within a large range of vertical positions) a single glider crossed the line to the right , and no matter which of the 4(?) phases the glider has, signals would be sent somewhere indicating generally where the glider crossed, and the structure eventually returning to how it was (other than the signals it sent out) . Is such a…

The Stackexchange thread on the GoL quasi-computer (which is underlying the interpreter in the TFA) mentions that the metapixels have borders that swallow gliders from other metapixels. However, those gliders are apparently used to communicate the state of the neighbouring metapixels, so presumably they don't disappear without effects. Also the location of metapixels relative to each other is probably fixed.

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#79
post #74

Earlier quoted context omitted.

You might be interested to learn that DNA is not actually read-only. Besides viruses like HIV and transposable elements which permanently splice themselves in to the host's DNA, antibodies gain specificity through irreversible self-editing of the lymphocyte's genome via a similar (and perhaps, evolutionarily related) mechanism. https://en.wikipedia.org/wiki/V(D)J_recombination

Is the current vaccination sort of editing as well?

[deleted]

Re: A Lisp Interpreter Implemented in Conway's Game of Life

#80
post #61
post #11

Not so exciting but still pretty cool: Conways Game of Life in a few lines of otus lisp* https://github.com/yuriy-chumak/ol/blob/master/samples/Conve... * otus lisp is a descendant of owl lisp ( https://www.youtube.com/watch?v=utOVF0U7Zd8 ) with a nice ffi - http://yuriy-chumak.github.io/ol/

Wow, thanks for those links. I am well acquainted with Lisp, but I never stumbled upon these. The video was great too. I have played with Wasp Lisp which is very cool and the Wasp VM. And checkout how it can spawn drone nodes on different machines[1,2]. I think C and Lisp together are amazing. I have been using them for decades, but J and APL entered my life over 8 years ago, and I am hooked! Checkout a rework of the…

Thanks for the links. Stumbled upon Otus Lisp / Owl-Lisp while looking for a sh/lua replacement for OpenWrt - the small footprint and architecture independend binary format as well as the FFI for .so files are looking great for that. Here is a complete documentation for the language: https://haltp.org/posts/owl.html that applies to both.
Post reply on HN