[Haskell-cafe] Imagining a G-machine

Andrew Coppin andrewcoppin at btinternet.com
Thu May 17 16:57:31 EDT 2007


Hmm. I think you're going to have problems with thermodynamics here. 
While it is possible to perform computations using chemical reactions, 
an *energy source* is required to drive the process. The word 
"nutrients" implies a substance containing chemical energy, but in that 
case no garbage-collected structures are every going to "dissolve into" 
nutrients; energy would need to be injected at this step somehow. (Not 
to say it's impossible of course; just to say it's more complicated than 
you seem to realise.)

You can do some amazing things with protiens - they're increadible 
molecules. But designing one to perform a specific task it currently 
*way* beyond cutting-edge science. I would suggest that a better 
approach would be to utilise not individual molecules but small 
single-celled plants. Genetically engineering such plants to perform 
useful operations would probably be orders of magnitude easier than 
trying to design individual molecules to do it. And since these are 
plants, they can produce their own chemical energy from sunlight. And 
grow more working units. It wouldn't be trivial by any stretch of the 
imagination, but given decades and lots of funding, someone might well 
build organisms that self-organise into a working G-machine.

Personally though, I think it would probably be vastly easier to just 
write some VHDL for chips that understand G-code. ;-)

(Actually, I've been thinking about what would happen if instead of 
having a bunch of memory registers over here, and a bunch of processor 
logic over there, what if each memory register also had a little bit of 
processing logic along with it? Then things could get massively 
parallel... But the more I think about it, the more that idea doesn't 
really work. The limiting factor would rapidly become "how to we get 
data between distant registers?" And where would you put a "program" in 
this system anyway? About the closing working analogue I can think of is 
ANN chips...)

[rambling over]



More information about the Haskell-Cafe mailing list