Metaprogramming for Tierra-like (artificial life) program?

P

Phil Rhoades

People,

Would it be possible to use Ruby's metaprogramming ability to write
something like Tierra?:

http://www.nis.atr.jp/~ray/tierra/whatis.html

http://www.nis.atr.jp/~ray/pubs/images/

A quick summary for those who don't want to look at this site - Tierra
is an artificial life program using a virtual computer and virtual
machine code to allow "evolution" of self-reproducing code by mutation
(bit-flipping). Various "organisms" then evolve including hosts,
parasites, immune hosts, hyper-parasites etc

It would be a nice programming exercise for me (to learn more Ruby) if
something like Tierra was possible using metaprogramming (or any other
ruby facilities).

Regards,

Phil.
--
Philip Rhoades

Pricom Pty Limited (ACN 003 252 275 ABN 91 003 252 275)
GPO Box 3411
Sydney NSW 2001
Australia
Fax: +61:(0)2-8221-9599
E-mail: (e-mail address removed)
 
M

MonkeeSage

People,

Would it be possible to use Ruby's metaprogramming ability to write
something like Tierra?:

http://www.nis.atr.jp/~ray/tierra/whatis.html

http://www.nis.atr.jp/~ray/pubs/images/

A quick summary for those who don't want to look at this site - Tierra
is an artificial life program using a virtual computer and virtual
machine code to allow "evolution" of self-reproducing code by mutation
(bit-flipping). Various "organisms" then evolve including hosts,
parasites, immune hosts, hyper-parasites etc

It would be a nice programming exercise for me (to learn more Ruby) if
something like Tierra was possible using metaprogramming (or any other
ruby facilities).

Regards,

Phil.
--
Philip Rhoades

Pricom Pty Limited (ACN 003 252 275 ABN 91 003 252 275)
GPO Box 3411
Sydney NSW 2001
Australia
Fax: +61:(0)2-8221-9599
E-mail: (e-mail address removed)

Sure, you can write a Game of Life in ruby. (You could even get fancy
and name it something else, like, say..."Tierra" ;P)

http://rubyforge.org/projects/rlife/

Regards,
Jordan
 
P

Phil Rhoades

Jordan,


Sure, you can write a Game of Life in ruby. (You could even get fancy
and name it something else, like, say..."Tierra" ;P)

http://rubyforge.org/projects/rlife/


I think you missed how Tierra is actually working . .

Phil.
--
Philip Rhoades

Pricom Pty Limited (ACN 003 252 275 ABN 91 003 252 275)
GPO Box 3411
Sydney NSW 2001
Australia
Fax: +61:(0)2-8221-9599
E-mail: (e-mail address removed)
 
I

Ilan Berci

Phil said:
People,

Would it be possible to use Ruby's metaprogramming ability to write
something like Tierra?:

Phil,

While I can't answer your question specifically, I can provide the
following information that you may find helpful.

Meta programing within ruby is very extensive with full support for
reflection and class, method, instance variable creation, etc... There
is virtually nothing that you can't create, modify, delete meta
programing wise from within the ruby runtime.

Please check out the methods eval() and class_eval() at your leisure

hth

ilan
 
M

MonkeeSage

Jordan,







I think you missed how Tierra is actually working . .

Phil.
--
Philip Rhoades

Pricom Pty Limited (ACN 003 252 275 ABN 91 003 252 275)
GPO Box 3411
Sydney NSW 2001
Australia
Fax: +61:(0)2-8221-9599
E-mail: (e-mail address removed)

Hi Phil,

Sorry about that. That was meant to be tongue-in-cheek. But the answer
is "yes" -- I don't see why you couldn't implement something like that
with ruby and metaprogramming (I thought the rlife project might be a
good starting point).

Regards,
Jordan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,981
Messages
2,570,188
Members
46,731
Latest member
MarcyGipso

Latest Threads

Top