Example: tourism industry

Structure and Interpretation of Computer Programs, 2nd ed.

Structure and Interpretation of Computer Programs second edition Unof cial Texinfo Format Harold Abelson and Gerald Jay Sussman with Julie Sussman foreword by Alan J. Perlis 1996 by e Massachuse s Institute of Technology Structure and Interpretation of Computer Programs, second edition Harold Abelson and Gerald Jay Sussman with Julie Sussman, foreword by Alan J. Perlis is work is licensed under a Creative Commons A ribution-ShareAlike International License ( . ). Based on a work at e Press Cambridge, Massachuse s London, England McGraw-Hill book Company New York, St.

Our traffic with the subject ma er of this book involves us with threefociofphenomena:thehumanmind,collectionsofcomputerpro-grams,andthecomputer.Everycomputerprogramisamodel,hatched inthemind,ofarealormentalprocess. eseprocesses,arisingfrom xiii

Tags:

  Book, Interpretation, And interpretation of

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Structure and Interpretation of Computer Programs, 2nd ed.

1 Structure and Interpretation of Computer Programs second edition Unof cial Texinfo Format Harold Abelson and Gerald Jay Sussman with Julie Sussman foreword by Alan J. Perlis 1996 by e Massachuse s Institute of Technology Structure and Interpretation of Computer Programs, second edition Harold Abelson and Gerald Jay Sussman with Julie Sussman, foreword by Alan J. Perlis is work is licensed under a Creative Commons A ribution-ShareAlike International License ( . ). Based on a work at e Press Cambridge, Massachuse s London, England McGraw-Hill book Company New York, St.

2 Louis, San Francisco, Montreal, Toronto Uno cial Texinfo Format (February 2, 2016), based on (January 10, 2007). Contents Uno cial Texinfo Format ix Dedication xii Foreword xiii Preface to the Second Edition xix Preface to the First Edition xxi A nowledgments xxv 1 Building Abstractions with Procedures 1. e Elements of Programming .. 6. Expressions .. 7. Naming and the Environment .. 10. Evaluating Combinations .. 12. Compound Procedures .. 15. e Substitution Model for Procedure Application 18. Conditional Expressions and Predicates .. 22. Example: Square Roots by Newton's Method.

3 28. iii Procedures as Black-Box Abstractions .. 33. Procedures and the Processes ey Generate .. 40. Linear Recursion and Iteration .. 41. Tree Recursion .. 47. Orders of Growth .. 54. Exponentiation .. 57. Greatest Common Divisors .. 62. Example: Testing for Primality .. 65. Formulating Abstractions with Higher-Order Procedures .. 74. Procedures as Arguments .. 76. Constructing Procedures Using lambda .. 83. Procedures as General Methods .. 89. Procedures as Returned Values .. 97. 2 Building Abstractions with Data 107. Introduction to Data Abstraction.

4 112. Example: Arithmetic Operations for Rational Numbers .. 113. Abstraction Barriers .. 118. What Is Meant by Data? .. 122. Extended Exercise: Interval Arithmetic .. 126. Hierarchical Data and the Closure Property .. 132. Representing Sequences .. 134. Hierarchical Structures .. 147. Sequences as Conventional Interfaces .. 154. Example: A Picture Language .. 172. Symbolic Data .. 192. otation .. 192. iv Example: Symbolic Di erentiation .. 197. Example: Representing Sets .. 205. Example: Hu man Encoding Trees .. 218. Multiple Representations for Abstract Data.

5 229. Representations for Complex Numbers .. 232. Tagged data .. 237. Data-Directed Programming and Additivity .. 242. Systems with Generic Operations .. 254. Generic Arithmetic Operations .. 255. Combining Data of Di erent Types .. 262. Example: Symbolic Algebra .. 274. 3 Modularity, Objects, and State 294. Assignment and Local State .. 296. Local State Variables .. 297. e Bene ts of Introducing Assignment .. 305. e Costs of Introducing Assignment .. 311. e Environment Model of Evaluation .. 320. e Rules for Evaluation .. 322. Applying Simple Procedures.

6 327. Frames as the Repository of Local State .. 330. Internal De nitions .. 337. Modeling with Mutable Data .. 341. Mutable List Structure .. 342. Representing eues .. 353. Representing Tables .. 360. A Simulator for Digital Circuits .. 369. Propagation of Constraints .. 386. Concurrency: Time Is of the Essence .. 401. v e Nature of Time in Concurrent Systems .. 403. Mechanisms for Controlling Concurrency .. 410. Streams .. 428. Streams Are Delayed Lists .. 430. In nite Streams .. 441. Exploiting the Stream Paradigm .. 453. Streams and Delayed Evaluation.

7 470. Modularity of Functional Programs and Modularity of Objects .. 479. 4 Metalinguistic Abstraction 487. e Metacircular Evaluator .. 492. e Core of the Evaluator .. 495. Representing Expressions .. 501. Evaluator Data Structures .. 512. Running the Evaluator as a Program .. 518. Data as Programs .. 522. Internal De nitions .. 526. Separating Syntactic Analysis from Execution . 534. Variations on a Scheme Lazy Evaluation .. 541. Normal Order and Applicative Order .. 542. An Interpreter with Lazy Evaluation .. 544. Streams as Lazy Lists .. 555. Variations on a Scheme Nondeterministic Computing 559.

8 Amb and Search .. 561. Examples of Nondeterministic Programs .. 567. Implementing the amb Evaluator .. 578. Logic Programming .. 594. Deductive Information Retrieval .. 599. vi How the ery System Works .. 615. Is Logic Programming Mathematical Logic? .. 627. Implementing the ery System .. 635. e Driver Loop and Instantiation .. 636. e Evaluator .. 638. Finding Assertions by Pa ern Matching .. 642. Rules and Uni cation .. 645. Maintaining the Data Base .. 651. Stream Operations .. 654. ery Syntax Procedures .. 656. Frames and Bindings .. 659. 5 Computing with Register Ma ines 666.

9 Designing Register Machines .. 668. A Language for Describing Register Machines . 672. Abstraction in Machine Design .. 678. Subroutines .. 681. Using a Stack to Implement Recursion .. 686. Instruction Summary .. 695. A Register-Machine Simulator .. 696. e Machine Model .. 698. e Assembler .. 704. Generating Execution Procedures for Instructions .. 708. Monitoring Machine Performance .. 718. Storage Allocation and Garbage Collection .. 723. Memory as Vectors .. 724. Maintaining the Illusion of In nite Memory .. 731. vii e Explicit-Control Evaluator .. 741.

10 E Core of the Explicit-Control Evaluator .. 743. Sequence Evaluation and Tail Recursion .. 751. Conditionals, Assignments, and De nitions .. 756. Running the Evaluator .. 759. Compilation .. 767. Structure of the Compiler .. 772. Compiling Expressions .. 779. Compiling Combinations .. 788. Combining Instruction Sequences .. 797. An Example of Compiled Code .. 802. Lexical Addressing .. 817. Interfacing Compiled Code to the Evaluator .. 823. References 834. List of Exercises 844. List of Figures 846. Index 848. Colophon 855. viii Uno icial Texinfo Format is is the second edition book , from Uno cial Texinfo Format.


Related search queries