sicp Building Abstractions with Procedures Building Abstractions with Data Modularity, Objects, and State Metalinguistic Abstraction Computing with Register Machines