Guy Steele & Gerry Sussman (opens in new tab)
Imagine a world in which two people take the best ideas from programming languages, and create an interpreter for their own programming language. Then they demonstrate that most of the features in that programming language—indeed, in all programming languages—can be constructed out of just three features of their interpreter: lambda application, conditional execution, and variable assignment. Then, they show that variable assignment is the wrong way to think about variable assignment, and sho...
Read the original article