

Completed Universal Computer/Constructor - fogus
http://pentadecathlon.com/lifeNews/2009/08/post.html

======
jacquesm
Now that is very impressive, a compiler with 'life' as the target architecture
:)

~~~
Novash
Excuse my ignorance, but I didn't understand a word of what the article was
about. Could you explain me?

~~~
jacquesm
No problem, it's a pretty academic exercise what they're doing there but it is
very interesting for lots of reasons.

The game of life is a cellular automaton 'game' designed by John Conway, see
<http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life> for lots more detail.

Conways life has been proven to be 'Turning complete', which means that it can
compute anything worth computing, even though due to practical limitations
(time, memory) plenty of things that you could compute in theory in practice
are not worth waiting for.

The basis of the 'Turing Completeness' argument for the game of life revolves
around the 'glider', a simple pattern that moves across the grid that the
'life' cells play out their existence on. These gliders can be set up and
timed in such a way that you can form simple logic gates with them, and from
these simple gates you can construct more complicated digital logic circuitry,
like adders and so on.

This in turn can lead to a life based universal computer, and it seems that
these people have done just that. On top of that they seem to have a
'translator' that will produce the 'life' pattern you need to compute
arbitrary calculations, which is the essence of a higher level language (the
'machine' language of life could be considered the initial state of the cells,
to produce that you could set them all up by hand or you could have a computer
program help you doing it).

I hope that explains it accurately enough and I hope that if it is accurate
that it is clear.

~~~
Novash
Finished studying the theory. Now it kind of makes more sense, thanks.

So, they created a translator to give you the initial state that would end up
calculating what you need? Cool, but how can they create a universal
calculator if there can't be any interaction with the system?

This is the part that seems less obvious to me. It is said to be a zero player
game, right? You set it up and you see it play itself till it dies, you die,
or it grows stale or you grow bored. You do not interact with it so how would
you make it calculate what you need?

~~~
jacquesm
Yep, you got it.

It's more like a programmable calculator than a real computer at the moment,
but that's only a superficial difference. For instance, if you wired a switch
into your computer and you set the 'life' game to initiate a glider on a
switch press then you could interact with it.

