Towards a Self-Replicating Language for Computation