Structure & Interpretation of Computer Programs
The text delves into various aspects of computer programming, emphasizing the creation and understanding of abstractions. It begins with procedures, exploring how they can be formulated and used as higher-order functions.
開く
Structure & Interpretation of Computer Programs Computing with Register Machines Compilation The Explicit-Control Evaluator Storage Allocation and Garbage Collection A Register-Machine Simulator Designing Register Machines Metalinguistic Abstraction Logic Programming Variations on a Scheme -- Nondeterministic Computing Variations on a Scheme -- Lazy Evaluation The Metacircular Evaluator Modularity, Objects, and State Streams Concurrency: Time Is of the Essence Modeling with Mutable Data The Environment Model of Evaluation Assignment and Local State Building Abstractions with Data Systems with Generic Operations Multiple Representations for Abstract Data Symbolic Data Hierarchical Data and the Closure Property Introduction to Data Abstraction Building Abstractions with Procedures Formulating Abstractions with Higher-Order Procedures as Returned Values Procedures as General Methods Constructing Procedures Using Lambda Procedures as Arguments Procedures and the Processes They Generate Example: Testing for Primality Greatest Common Divisors Exponentiation Orders of Growth Tree Recursion Linear Recursion and Iteration The Elements of Programming
Procedures as Black-Box Abstractions Example: Square Roots by Newton's Method Conditional Expressions and Predicates The Substitution Model for Procedure Application Compound Procedures Evaluating Combinations Naming and the Environment Expressions