What made the modern computer possible was the idea of the “stored program.” This means that instead of representing the problem to be solved in the circuitry of the computer, you represent the problem as data in the computer’s memory, and what you put in the circuitry is the algorithm by which that representation (called a machine languge program) is interpreted. The central processor of a modern computer is, therefore, exactly analogous to the metacircular evaluator.

int x,y;
int *p;
y = *p; /* legal */
y = *x; /* illegal */
y = *((int *)x); /* legal! */