Text this: Structure and Interpretation of Computer Programs