[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-43501-en":3,"doc-seo-43501-105":30,"detail-sidebar-cat-0-en-105":91},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":20,"is_deleted":4,"is_public":21,"is_downloadable":21,"audit_status":21,"page_count":22,"language":23,"language_code":24,"site_id":25,"html_lang":24,"table_of_contents":26,"faqs":27,"seo_title":13,"seo_description":14,"update_tm":28,"read_time":29},43501,13056703020460,"Valentina","https://ap-avatar.wpscdn.com/avatar/be000253dac470eee5d?_k=1778207105932848923",6,"Technology","Structure and Interpretation of Computer Programs Second Edition","Structure and Interpretation of Computer Programs, second edition, outlines a systematic approach to building abstractions in programming. The contents progress from procedure-driven design—expressions, environments, substitution and evaluation models, recursion, growth, and higher-order procedures—to data abstraction with hierarchical, symbolic, and generic representations. It then develops modularity, objects, and state using assignment, mutable data, and concurrency, and extends the perspective to metalinguistic abstraction with interpreters, lazy and nondeterministic evaluation, and logic programming.","Structure and Interpretation of Computer Programs  \nsecond edition  \nUnofﬁcial Texinfo Format 2.andresraba5.6  \nHarold Abelson and Gerald Jay Sussman with Julie Sussman foreword by Alan J. Perlis  \n©1996 by 􀥊e Massachuse􀤽s Institute of Technology  \nStructure and Interpretation of Computer Programs, second edition  \nHarold Abelson and Gerald Jay Sussman with Julie Sussman, foreword by Alan J. Perlis  \n􀥊is work is licensed under a Creative Commons A􀤽ribution-ShareAlike 4.0 International License (􀥔􀥔 􀥓􀥪􀥭􀥤􀥒 􀧩.􀧥) . Based on a work at [mitpress.mit.edu](mitpress.mit.edu).  \n􀥊e 􀥞􀥚􀥥 Press Cambridge, Massachuse􀤽s London, England  \nMcGraw-Hill Book Company New York, St. Louis, San Francisco, Montreal, Toronto  \nUnoﬃcial Texinfo Format 2.andresraba5.6 (February 2, 2016), based on 2.neilvandyke4 (January 10, 2007) .  \nContents  \nUnoﬃcial Texinfo Format ix  \nDedication xii  \nForeword xiii  \nPreface to the Second Edition xix  \nPreface to the First Edition xxi  \nA􀠨nowledgments xxv  \n1 Building Abstractions with Procedures 1  \n1.1 􀥊e Elements of Programming .............. 6  \n1.1.1 Expressions .................... 7  \n1.1.2 Naming and the Environment .......... 10  \n1.1.3 Evaluating Combinations ............ 12  \n1.1.4 Compound Procedures .............. 15  \n1.1.5 􀥊e Substitution Model for Procedure Application 18  \n1.1.6 Conditional Expressions and Predicates .... 22  \n1.1.7 Example: Square Roots by Newton’s Method .. 28  \n1.1.8 Procedures as Black-Box Abstractions ..... 33  \n1.2 Procedures and the Processes 􀥊ey Generate ...... 40  \n1.2.1 Linear Recursion and Iteration ......... 41  \n1.2.2 Tree Recursion .................. 47  \n1.2.3 Orders of Growth ................. 54  \n1.2.4 Exponentiation .................. 57  \n1.2.5 Greatest Common Divisors ........... 62  \n1.2.6 Example: Testing for Primality ......... 65  \n1.3 Formulating Abstractions with Higher-Order Procedures .............. 74  \n1.3.1 Procedures as Arguments ............ 76  \n1.3.2 Constructing Procedures Using lambda ..... 83  \n1.3.3 Procedures as General Methods ......... 89  \n1.3.4 Procedures as Returned Values ......... 97  \n2 Building Abstractions with Data 107  \n2.1 Introduction to Data Abstraction ............. 112  \n2.1.1 Example: Arithmetic Operations for Rational Numbers ............... 113  \n2.1.2 Abstraction Barriers ............... 118  \n2.1.3 What Is Meant by Data? ............. 122  \n2.1.4 Extended Exercise: Interval Arithmetic ..... 126  \n2.2 Hierarchical Data and the Closure Property ....... 132  \n2.2.1 Representing Sequences ............. 134  \n2.2.2 Hierarchical Structures .............. 147  \n2.2.3 Sequences as Conventional Interfaces ..... 154  \n2.2.4 Example: A Picture Language .......... 172  \n2.3 Symbolic Data ....................... 192  \n2.3.1 􀥉otation ..................... 192  \n2.3.2 Example: Symbolic Diﬀerentiation ....... 197  \n2.3.3 Example: Representing Sets ........... 205  \n2.3.4 Example: Huﬀman Encoding Trees ....... 218  \n2.4 Multiple Representations for Abstract Data ....... 229  \n2.4.1 Representations for Complex Numbers ..... 232  \n2.4.2 Tagged data .................... 237  \n2.4.3 Data-Directed Programming and Additivity .. 242  \n2.5 Systems with Generic Operations ............ 254  \n2.5.1 Generic Arithmetic Operations ......... 255  \n2.5.2 Combining Data of Diﬀerent Types ....... 262  \n2.5.3 Example: Symbolic Algebra ........... 274  \n3 Modularity, Objects, and State 294  \n3.1 Assignment and Local State ............... 296  \n3.1.1 Local State Variables ............... 297  \n3.1.2 􀥊e Beneﬁts of Introducing Assignment .... 305  \n3.1.3 􀥊e Costs of Introducing Assignment ...... 311  \n3.2 􀥊e Environment Model of Evaluation .......... 320  \n3.2.1 􀥊e Rules for Evaluation ............. 322  \n3.2.2 Applying Simple Procedures ........... 327  \n3.2.3 Frames as the Repository of Local State .... 330  \n3.2.4 Internal Deﬁnitions ................ 337  \n3.3 Modeling with Mutable Data ............... 341  \n3.3.1 Mutable List Structure .............. 342  \n","cbCaiqVznYMpdabc","https://ap.wps.com/l/cbCaiqVznYMpdabc","pdf",7416886,4,1,883,"English","en",105,"# Contents\n## Building Abstractions with Procedures\n## Building Abstractions with Data\n## Modularity, Objects, and State\n## Metalinguistic Abstraction","[{\"question\":\"What topics are covered in the first part of the book?\",\"answer\":\"The early chapters focus on building abstractions with procedures, including expressions, environments, procedure application, substitution and evaluation models, recursion and iteration, and higher-order procedures.\"},{\"question\":\"How does the book approach data abstraction?\",\"answer\":\"It introduces data abstraction and then develops techniques for hierarchical data, symbolic data, multiple representations, tagged data, and generic operations to handle different data types.\"},{\"question\":\"Which advanced themes appear later in the book?\",\"answer\":\"Later sections cover modularity, objects, and state (assignment, local state, mutable data, concurrency, streams) and then metalinguistic abstraction using a metacircular evaluator plus variations like lazy evaluation, nondeterminism, and logic programming.\"}]",1783381864,2225,{"code":4,"msg":31,"data":32},"ok",{"site_id":25,"language":24,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":86,"head_meta":88,"extra_data":90,"updated_unix":28},"structure-and-interpretation-of-computer-programs-second-edition","",{"@graph":36,"@context":85},[37,53,68],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":21},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/technology/",3,{"item":52,"name":13,"@type":43,"position":20},"https://docshare.wps.com/document/structure-and-interpretation-of-computer-programs-second-edition/43501/",{"url":52,"name":13,"@type":54,"author":55,"headline":13,"publisher":57,"fileFormat":60,"inLanguage":24,"description":14,"dateModified":61,"datePublished":62,"encodingFormat":60,"isAccessibleForFree":63,"interactionStatistic":64},"DigitalDocument",{"name":9,"@type":56},"Person",{"url":41,"name":58,"@type":59},"DocShare","Organization","application/pdf","2026-07-13","2026-07-06",true,{"@type":65,"interactionType":66,"userInteractionCount":20},"InteractionCounter",{"@type":67},"ViewAction",{"@type":69,"mainEntity":70},"FAQPage",[71,77,81],{"name":72,"@type":73,"acceptedAnswer":74},"What topics are covered in the first part of the book?","Question",{"text":75,"@type":76},"The early chapters focus on building abstractions with procedures, including expressions, environments, procedure application, substitution and evaluation models, recursion and iteration, and higher-order procedures.","Answer",{"name":78,"@type":73,"acceptedAnswer":79},"How does the book approach data abstraction?",{"text":80,"@type":76},"It introduces data abstraction and then develops techniques for hierarchical data, symbolic data, multiple representations, tagged data, and generic operations to handle different data types.",{"name":82,"@type":73,"acceptedAnswer":83},"Which advanced themes appear later in the book?",{"text":84,"@type":76},"Later sections cover modularity, objects, and state (assignment, local state, mutable data, concurrency, streams) and then metalinguistic abstraction using a metacircular evaluator plus variations like lazy evaluation, nondeterminism, and logic programming.","https://schema.org",{"og:url":52,"og:type":87,"og:title":13,"og:site_name":58,"og:description":14},"article",{"robots":89,"canonical":52},"index,follow",{"doc_id":7,"site_id":25},{"code":4,"msg":5,"data":92},[93,97,101,105,110,113,118,123,128,131,135],{"id":21,"doc_module":4,"doc_module_name":46,"category_name":94,"show_sort_weight":95,"slug":96},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":98,"show_sort_weight":99,"slug":100},"Literature",80,"literature",{"id":20,"doc_module":4,"doc_module_name":46,"category_name":102,"show_sort_weight":103,"slug":104},"Exam",70,"exam",{"id":106,"doc_module":4,"doc_module_name":46,"category_name":107,"show_sort_weight":108,"slug":109},5,"Comic",60,"comic",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":111,"slug":112},50,"technology",{"id":114,"doc_module":4,"doc_module_name":46,"category_name":115,"show_sort_weight":116,"slug":117},7,"Healthcare",40,"healthcare",{"id":119,"doc_module":4,"doc_module_name":46,"category_name":120,"show_sort_weight":121,"slug":122},8,"Research & Report",30,"research-report",{"id":124,"doc_module":4,"doc_module_name":46,"category_name":125,"show_sort_weight":126,"slug":127},9,"Religion & Spirituality",20,"religion-spirituality",{"id":126,"doc_module":4,"doc_module_name":46,"category_name":129,"show_sort_weight":126,"slug":130},"World Cup","world-cup",{"id":132,"doc_module":4,"doc_module_name":46,"category_name":133,"show_sort_weight":132,"slug":134},10,"Lifestyle","lifestyle",{"id":136,"doc_module":4,"doc_module_name":46,"category_name":137,"show_sort_weight":106,"slug":138},19,"General","general"]