Structure and Interpretation of Computer Programs - 2nd Edition (MIT)

Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
出版社: The MIT Press
1996-07
ISBN: 9780262011532
装帧: 精装
开本: 其他
纸张: 其他
1人买过
  • Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text.
    There are new implementations of most of the major programming Hal Abelson is Class of 1922 Professor of Computer Science and Engineering at Massachusetts Institute of Technology and a fellow of the IEEE. He is a founding director of Creative Commons, Public Knowledge, and the Free Software Foundation. Additionally, he serves as co-chair for the MIT Council on Educational Technology.
    Gerald Jay Sussman is the Matsushita Professor of Electrical Engineering in the Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology. He is also the coauthor of Structure and Interpretation of Computer Programs (MIT Press, second edition, 1996). Foreword
    Preface to the Second Edition
    Preface to the First Edition
    Acknowledgments
    1  Building Abstractions with Procedures
    1.1  The Elements of Programming
    1.1.1  Expressions
    1.1.2  Naming and the Environment
    1.1.3  Evaluating Combinations
    1.1.4  Compound Procedures
    1.1.5  The Substitution Model for Procedure Application
    1.1.6  Conditional Expressions and Predicates
    1.1.7  Example: Square Roots by Newton's Method
    1.1.8  Procedures as Black-Box Abstractions
    1.2  Procedures and the Processes They Generate
    1.2.1  Linear Recursion and Iteration
    1.2.2  Tree Recursion
    1.2.3  Orders of Growth
    1.2.4  Exponentiation
    1.2.5  Greatest Common Divisors
    1.2.6  Example: Testing for Primality
    1.3  Formulating Abstractions with Higher-Order Procedures
    1.3.1  Procedures as Arguments
    1.3.2  Constructing Procedures Using Lambda
    1.3.3  Procedures as General Methods
    1.3.4  Procedures as Returned Values
    2  Building Abstractions with Data
    2.1  Introduction to Data Abstraction
    2.1.1  Example: Arithmetic Operations for Rational Numbers
    2.1.2  Abstraction Barriers
    2.1.3  What Is Meant by Data?
    2.1.4  Extended Exercise: Interval Arithmetic
    2.2  Hierarchical Data and the Closure Property
    2.2.1  Representing Sequences
    2.2.2  Hierarchical Structures
    2.2.3  Sequences as Conventional Interfaces
    2.2.4  Example: A Picture Language
    2.3  Symbolic Data
    2.3.1  Quotation
    2.3.2  Example: Symbolic Differentiation
    2.3.3  Example: Representing Sets
    2.3.4  Example: Huffman Encoding Trees
    2.4  Multiple Representations for Abstract Data
    2.4.1  Representations for Complex Numbers
    2.4.2  Tagged data
    2.4.3  Data-Directed Programming and Additivity
    2.5  Systems with Generic Operations
    2.5.1  Generic Arithmetic Operations
    2.5.2  Combining Data of Different Types
    2.5.3  Example: Symbolic Algebra
    3  Modularity, Objects, and State
    3.1  Assignment and Local State
    3.1.1  Local State Variables
    3.1.2  The Benefits of Introducing Assignment
    3.1.3  The Costs of Introducing Assignment
    3.2  The Environment Model of Evaluation
    3.2.1  The Rules for Evaluation
    3.2.2  Applying Simple Procedures
    3.2.3  Frames as the Repository of Local State
    3.2.4  Internal Definitions
    3.3  Modeling with Mutable Data
    3.3.1  Mutable List Structure
    3.3.2  Representing Queues
    3.3.3  Representing Tables
    3.3.4  A Simulator for Digital Circuits
    3.3.5  Propagation of Constraints
    3.4  Concurrency: Time Is of the Essence
    3.4.1  The Nature of Time in Concurrent Systems
    3.4.2  Mechanisms for Controlling Concurrency
    3.5  Streams
    3.5.1  Streams Are Delayed Lists
    3.5.2  Infinite Streams
    3.5.3  Exploiting the Stream Paradigm
    3.5.4  Streams and Delayed Evaluation
    3.5.5  Modularity of Functional Programs and Modularity of Objects
    4  Metalinguistic Abstraction
    4.1  The Metacircular Evaluator
    4.1.1  The Core of the Evaluator
    4.1.2  Representing Expressions
    4.1.3  Evaluator Data Structures
    4.1.4  Running the Evaluator as a Program
    4.1.5  Data as Programs
    4.1.6  Internal Definitions
    4.1.7  Separating Syntactic Analysis from Execution
    4.2  Variations on a Scheme -- Lazy Evaluation
    4.2.1  Normal Order and Applicative Order
    4.2.2  An Interpreter with Lazy Evaluation
    4.2.3  Streams as Lazy Lists
    4.3  Variations on a Scheme -- Nondeterministic Computing
    4.3.1  Amb and Search
    4.3.2  Examples of Nondeterministic Programs
    4.3.3  Implementing the Amb Evaluator
    4.4  Logic Programming
    4.4.1  Deductive Information Retrieval
    4.4.2  How the Query System Works
    4.4.3  Is Logic Programming Mathematical Logic?
    4.4.4  Implementing the Query System
    5  Computing with Register Machines
    5.1  Designing Register Machines
    5.1.1  A Language for Describing Register Machines
    5.1.2  Abstraction in Machine Design
    5.1.3  Subroutines
    5.1.4  Using a Stack to Implement Recursion
    5.1.5  Instruction Summary
    5.2  A Register-Machine Simulator
    5.2.1  The Machine Model
    5.2.2  The Assembler
    5.2.3  Generating Execution Procedures for Instructions
    5.2.4  Monitoring Machine Performance
    5.3  Storage Allocation and Garbage Collection
    5.3.1  Memory as Vectors
    5.3.2  Maintaining the Illusion of Infinite Memory
    5.4  The Explicit-Control Evaluator
    5.4.1  The Core of the Explicit-Control Evaluator
    5.4.2  Sequence Evaluation and Tail Recursion
    5.4.3  Conditionals, Assignments, and Definitions
    5.4.4  Running the Evaluator
    5.5  Compilation
    5.5.1  Structure of the Compiler
    5.5.2  Compiling Expressions
    5.5.3  Compiling Combinations
    5.5.4  Combining Instruction Sequences
    5.5.5  An Example of Compiled Code
    5.5.6  Lexical Addressing
    5.5.7  Interfacing Compiled Code to the Evaluator
    References
    List of Exercises
    Index
  • 内容简介:
    Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text.
    There are new implementations of most of the major programming
  • 作者简介:
    Hal Abelson is Class of 1922 Professor of Computer Science and Engineering at Massachusetts Institute of Technology and a fellow of the IEEE. He is a founding director of Creative Commons, Public Knowledge, and the Free Software Foundation. Additionally, he serves as co-chair for the MIT Council on Educational Technology.
    Gerald Jay Sussman is the Matsushita Professor of Electrical Engineering in the Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology. He is also the coauthor of Structure and Interpretation of Computer Programs (MIT Press, second edition, 1996).
  • 目录:
    Foreword
    Preface to the Second Edition
    Preface to the First Edition
    Acknowledgments
    1  Building Abstractions with Procedures
    1.1  The Elements of Programming
    1.1.1  Expressions
    1.1.2  Naming and the Environment
    1.1.3  Evaluating Combinations
    1.1.4  Compound Procedures
    1.1.5  The Substitution Model for Procedure Application
    1.1.6  Conditional Expressions and Predicates
    1.1.7  Example: Square Roots by Newton's Method
    1.1.8  Procedures as Black-Box Abstractions
    1.2  Procedures and the Processes They Generate
    1.2.1  Linear Recursion and Iteration
    1.2.2  Tree Recursion
    1.2.3  Orders of Growth
    1.2.4  Exponentiation
    1.2.5  Greatest Common Divisors
    1.2.6  Example: Testing for Primality
    1.3  Formulating Abstractions with Higher-Order Procedures
    1.3.1  Procedures as Arguments
    1.3.2  Constructing Procedures Using Lambda
    1.3.3  Procedures as General Methods
    1.3.4  Procedures as Returned Values
    2  Building Abstractions with Data
    2.1  Introduction to Data Abstraction
    2.1.1  Example: Arithmetic Operations for Rational Numbers
    2.1.2  Abstraction Barriers
    2.1.3  What Is Meant by Data?
    2.1.4  Extended Exercise: Interval Arithmetic
    2.2  Hierarchical Data and the Closure Property
    2.2.1  Representing Sequences
    2.2.2  Hierarchical Structures
    2.2.3  Sequences as Conventional Interfaces
    2.2.4  Example: A Picture Language
    2.3  Symbolic Data
    2.3.1  Quotation
    2.3.2  Example: Symbolic Differentiation
    2.3.3  Example: Representing Sets
    2.3.4  Example: Huffman Encoding Trees
    2.4  Multiple Representations for Abstract Data
    2.4.1  Representations for Complex Numbers
    2.4.2  Tagged data
    2.4.3  Data-Directed Programming and Additivity
    2.5  Systems with Generic Operations
    2.5.1  Generic Arithmetic Operations
    2.5.2  Combining Data of Different Types
    2.5.3  Example: Symbolic Algebra
    3  Modularity, Objects, and State
    3.1  Assignment and Local State
    3.1.1  Local State Variables
    3.1.2  The Benefits of Introducing Assignment
    3.1.3  The Costs of Introducing Assignment
    3.2  The Environment Model of Evaluation
    3.2.1  The Rules for Evaluation
    3.2.2  Applying Simple Procedures
    3.2.3  Frames as the Repository of Local State
    3.2.4  Internal Definitions
    3.3  Modeling with Mutable Data
    3.3.1  Mutable List Structure
    3.3.2  Representing Queues
    3.3.3  Representing Tables
    3.3.4  A Simulator for Digital Circuits
    3.3.5  Propagation of Constraints
    3.4  Concurrency: Time Is of the Essence
    3.4.1  The Nature of Time in Concurrent Systems
    3.4.2  Mechanisms for Controlling Concurrency
    3.5  Streams
    3.5.1  Streams Are Delayed Lists
    3.5.2  Infinite Streams
    3.5.3  Exploiting the Stream Paradigm
    3.5.4  Streams and Delayed Evaluation
    3.5.5  Modularity of Functional Programs and Modularity of Objects
    4  Metalinguistic Abstraction
    4.1  The Metacircular Evaluator
    4.1.1  The Core of the Evaluator
    4.1.2  Representing Expressions
    4.1.3  Evaluator Data Structures
    4.1.4  Running the Evaluator as a Program
    4.1.5  Data as Programs
    4.1.6  Internal Definitions
    4.1.7  Separating Syntactic Analysis from Execution
    4.2  Variations on a Scheme -- Lazy Evaluation
    4.2.1  Normal Order and Applicative Order
    4.2.2  An Interpreter with Lazy Evaluation
    4.2.3  Streams as Lazy Lists
    4.3  Variations on a Scheme -- Nondeterministic Computing
    4.3.1  Amb and Search
    4.3.2  Examples of Nondeterministic Programs
    4.3.3  Implementing the Amb Evaluator
    4.4  Logic Programming
    4.4.1  Deductive Information Retrieval
    4.4.2  How the Query System Works
    4.4.3  Is Logic Programming Mathematical Logic?
    4.4.4  Implementing the Query System
    5  Computing with Register Machines
    5.1  Designing Register Machines
    5.1.1  A Language for Describing Register Machines
    5.1.2  Abstraction in Machine Design
    5.1.3  Subroutines
    5.1.4  Using a Stack to Implement Recursion
    5.1.5  Instruction Summary
    5.2  A Register-Machine Simulator
    5.2.1  The Machine Model
    5.2.2  The Assembler
    5.2.3  Generating Execution Procedures for Instructions
    5.2.4  Monitoring Machine Performance
    5.3  Storage Allocation and Garbage Collection
    5.3.1  Memory as Vectors
    5.3.2  Maintaining the Illusion of Infinite Memory
    5.4  The Explicit-Control Evaluator
    5.4.1  The Core of the Explicit-Control Evaluator
    5.4.2  Sequence Evaluation and Tail Recursion
    5.4.3  Conditionals, Assignments, and Definitions
    5.4.4  Running the Evaluator
    5.5  Compilation
    5.5.1  Structure of the Compiler
    5.5.2  Compiling Expressions
    5.5.3  Compiling Combinations
    5.5.4  Combining Instruction Sequences
    5.5.5  An Example of Compiled Code
    5.5.6  Lexical Addressing
    5.5.7  Interfacing Compiled Code to the Evaluator
    References
    List of Exercises
    Index
查看详情
目前没有书店销售此书
相关图书 / 更多
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structured Credit Products: Credit Derivatives and Synthetic Securitisation
Moorad Choudhry(莫德休·乔德里) 著
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structure and Surface:Contemporary Japanese Textiles
Cara McCarty
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
StructureofLanguage:SpokenandWrittenEnglish
Janet Townend、Jean Walker 著
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structures of the Life-World, Vol. 1
Alfred Schutz;Thomas Luckmann
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structured COBOL programming : for the year 2000 and beyond
Nancy Stern,
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structure,Deformation,andIntegrityofMaterials(v.1&2)
Gijsbertus de With 著
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structured Products
Roberto Knop 著
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structure and Geometry of Lie Groups
Joachim Hilgert;Karl-Hermann Neeb
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structure Determination from Powder Diffraction Data
David, W. I. F. / Shankland, K. / McCusker, L. B. / Baerlocher, Ch(EDT)
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
StructureFormationintheUniverse
T. Padmanabhan 著
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Structured Products in Wealth Management 财富管理的结构性产品
Steffen W. Tolle(斯特芬·托尔)、Boris Hutter(鲍里斯·哈特)、Patrik Ruthemann(帕特里克·吕特曼)、Hanspeter Wohlwend(汉斯佩特·瓦尔温德) 著
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
StructureofMaterials:AnIntroductiontoCrystallography,DiffractionandSymmetry
Marc De Graef 著
您可能感兴趣 / 更多
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
青铜与竹简的世界:司马迁对历史的征服(海外司马迁与《史记》研究丛书)
Hardy 著;丁波 译;[美]侯格睿(Grant
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
玉山丹池(石听泉、卜正民、王立群、梅新林、徐永明等海内外学者联袂推荐)
Hargett 著;冯乃希 译;[美]何瞻(James;M
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
萌新入门课:零基础漫画少女
Hard deluxe 工作室 编著;李佳佳 译
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
汤姆叔叔的小屋(初三年级)/黑布林英语阅读
Harriet Beecher Stowe 编
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
点击职业英语(基础英语模块3练习频道第4版)/“十二五”职业教育国家规划教材
Harper 著;[美]John、Chapman、[加]Kathryn、刘黛琳、牛健 编
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Terry Harrison's Complete Brush with Watercolour
Harrison, Terry
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
The Book of Life A Novel
Harkness, Deborah
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
The Compound Effect
Hardy, Darren
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Basic Drawing Made Amazingly Easy
Hart, Christopher
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Alphas
Harrison, Lisi
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
UncleTom'sCabin(200thAnniversaryEdition)(SignetClassics)
Harriet Beecher Stowe 著
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Authentic Victorian Fashion Patterns A Complete Lady's Wardrobe
Harris, Kristina