You might be interested in this paper which was talked about on HN last week:
“Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction”
“Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction”