12PROJECT: A PROGRAMMING LANGUAGE
Building your own programming language is surprisingly easy (as long as you do not aim too high) and very enlightening.
The main thing I want to show in this chapter is that there is no magic involved in building your own language. I’ve often felt that some human inventions were so immensely clever and complicated that I’d never be able to understand them. But with a little reading and experimenting, they often turn out to be quite mundane.
We will build a programming language called Egg. It will be a tiny, simple language—but one that is powerful enough to express any computation you can think of. It will allow simple abstraction based on functions.
The most immediately visible part of a programming ...