0% found this document useful (0 votes)
45 views111 pages

Structure and Interpretation of Computer Programs Second Edition Hal Abelson and Gerald Jay Sussman Updated 2025

Educational material: Structure and Interpretation of Computer Programs Second Edition Hal Abelson And Gerald Jay Sussman Available Instantly. Comprehensive study guide with detailed analysis, academic insights, and professional content for educational purposes.

Uploaded by

maiteshalin2962
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views111 pages

Structure and Interpretation of Computer Programs Second Edition Hal Abelson and Gerald Jay Sussman Updated 2025

Educational material: Structure and Interpretation of Computer Programs Second Edition Hal Abelson And Gerald Jay Sussman Available Instantly. Comprehensive study guide with detailed analysis, academic insights, and professional content for educational purposes.

Uploaded by

maiteshalin2962
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 111

Structure and Interpretation of Computer Programs

Second Edition Hal Abelson And Gerald Jay Sussman


2025 download now

https://ebookname.com/product/structure-and-interpretation-of-
computer-programs-second-edition-hal-abelson-and-gerald-jay-sussman/

★★★★★
4.7 out of 5.0 (80 reviews )

PDF Available Immediately

ebookname.com
Structure and Interpretation of Computer Programs Second
Edition Hal Abelson And Gerald Jay Sussman

EBOOK

Available Formats

■ PDF eBook Study Guide Ebook

EXCLUSIVE 2025 ACADEMIC EDITION – LIMITED RELEASE

Available Instantly Access Library


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

The Structure of Evolutionary Theory First Edition Stephen


Jay Gould

https://ebookname.com/product/the-structure-of-evolutionary-theory-
first-edition-stephen-jay-gould/

ebookname.com

Emerging Technology Programs ADM Hybrids Computer


Forensics and MEMS 1st Edition John Vanston

https://ebookname.com/product/emerging-technology-programs-adm-
hybrids-computer-forensics-and-mems-1st-edition-john-vanston/

ebookname.com

The Ultimate Guitar Songbook Second Edition Hal Leonard


Corp.

https://ebookname.com/product/the-ultimate-guitar-songbook-second-
edition-hal-leonard-corp/

ebookname.com

International Tables for Crystallography Space Group


Symmetry 5th edition Edition Hahn T. (Ed.)

https://ebookname.com/product/international-tables-for-
crystallography-space-group-symmetry-5th-edition-edition-hahn-t-ed/

ebookname.com
Catfish Rolling 1st Edition Clara Kumagai

https://ebookname.com/product/catfish-rolling-1st-edition-clara-
kumagai/

ebookname.com

Standard Catalog of World Coins 1601 1700 6th ed (Online-


ausg.). Edition George S. Cuhaj

https://ebookname.com/product/standard-catalog-of-world-
coins-1601-1700-6th-ed-online-ausg-edition-george-s-cuhaj/

ebookname.com

Connectivity Conservation Conservation Biology 1st Edition


Kevin R. Crooks

https://ebookname.com/product/connectivity-conservation-conservation-
biology-1st-edition-kevin-r-crooks/

ebookname.com

Foundations of Social Policy Social Justice in Human


Perspective 3rd Edition Amanda S. Barusch

https://ebookname.com/product/foundations-of-social-policy-social-
justice-in-human-perspective-3rd-edition-amanda-s-barusch/

ebookname.com

Economics A Student s Guide 5th Edition John Beardshaw

https://ebookname.com/product/economics-a-student-s-guide-5th-edition-
john-beardshaw-2/

ebookname.com
The Coming of Evolution The Story of a Great Revolution in
Science 1st Edition John W. Judd

https://ebookname.com/product/the-coming-of-evolution-the-story-of-a-
great-revolution-in-science-1st-edition-john-w-judd/

ebookname.com
©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 4.0 International License
(  .). Based on a work at mitpress.mit.edu.

e  Press
Cambridge, Massachuses
London, England

McGraw-Hill Book Company


New York, St. Louis, San Francisco,
Montreal, Toronto

Unofficial Texinfo Format 2.andresraba5.6 (February 2, 2016),


based on 2.neilvandyke4 (January 10, 2007).
Contents

Unofficial 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


1.1 e Elements of Programming . . . . . . . . . . . . . . 6
1.1.1 Expressions . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Naming and the Environment . . . . . . . . . . 10
1.1.3 Evaluating Combinations . . . . . . . . . . . . 12
1.1.4 Compound Procedures . . . . . . . . . . . . . . 15
1.1.5 e Substitution Model for Procedure Application 18
1.1.6 Conditional Expressions and Predicates . . . . 22
1.1.7 Example: Square Roots by Newton’s Method . . 28

iii
1.1.8 Procedures as Black-Box Abstractions . . . . . 33
1.2 Procedures and the Processes ey Generate . . . . . . 40
1.2.1 Linear Recursion and Iteration . . . . . . . . . 41
1.2.2 Tree Recursion . . . . . . . . . . . . . . . . . . 47
1.2.3 Orders of Growth . . . . . . . . . . . . . . . . . 54
1.2.4 Exponentiation . . . . . . . . . . . . . . . . . . 57
1.2.5 Greatest Common Divisors . . . . . . . . . . . 62
1.2.6 Example: Testing for Primality . . . . . . . . . 65
1.3 Formulating Abstractions
with Higher-Order Procedures . . . . . . . . . . . . . . 74
1.3.1 Procedures as Arguments . . . . . . . . . . . . 76
1.3.2 Constructing Procedures Using lambda . . . . . 83
1.3.3 Procedures as General Methods . . . . . . . . . 89
1.3.4 Procedures as Returned Values . . . . . . . . . 97

2 Building Abstractions with Data 107


2.1 Introduction to Data Abstraction . . . . . . . . . . . . . 112
2.1.1 Example: Arithmetic Operations
for Rational Numbers . . . . . . . . . . . . . . . 113
2.1.2 Abstraction Barriers . . . . . . . . . . . . . . . 118
2.1.3 What Is Meant by Data? . . . . . . . . . . . . . 122
2.1.4 Extended Exercise: Interval Arithmetic . . . . . 126
2.2 Hierarchical Data and the Closure Property . . . . . . . 132
2.2.1 Representing Sequences . . . . . . . . . . . . . 134
2.2.2 Hierarchical Structures . . . . . . . . . . . . . . 147
2.2.3 Sequences as Conventional Interfaces . . . . . 154
2.2.4 Example: A Picture Language . . . . . . . . . . 172
2.3 Symbolic Data . . . . . . . . . . . . . . . . . . . . . . . 192
2.3.1 otation . . . . . . . . . . . . . . . . . . . . . 192

iv
2.3.2 Example: Symbolic Differentiation . . . . . . . 197
2.3.3 Example: Representing Sets . . . . . . . . . . . 205
2.3.4 Example: Huffman Encoding Trees . . . . . . . 218
2.4 Multiple Representations for Abstract Data . . . . . . . 229
2.4.1 Representations for Complex Numbers . . . . . 232
2.4.2 Tagged data . . . . . . . . . . . . . . . . . . . . 237
2.4.3 Data-Directed Programming and Additivity . . 242
2.5 Systems with Generic Operations . . . . . . . . . . . . 254
2.5.1 Generic Arithmetic Operations . . . . . . . . . 255
2.5.2 Combining Data of Different Types . . . . . . . 262
2.5.3 Example: Symbolic Algebra . . . . . . . . . . . 274

3 Modularity, Objects, and State 294


3.1 Assignment and Local State . . . . . . . . . . . . . . . 296
3.1.1 Local State Variables . . . . . . . . . . . . . . . 297
3.1.2 e Benefits of Introducing Assignment . . . . 305
3.1.3 e Costs of Introducing Assignment . . . . . . 311
3.2 e Environment Model of Evaluation . . . . . . . . . . 320
3.2.1 e Rules for Evaluation . . . . . . . . . . . . . 322
3.2.2 Applying Simple Procedures . . . . . . . . . . . 327
3.2.3 Frames as the Repository of Local State . . . . 330
3.2.4 Internal Definitions . . . . . . . . . . . . . . . . 337
3.3 Modeling with Mutable Data . . . . . . . . . . . . . . . 341
3.3.1 Mutable List Structure . . . . . . . . . . . . . . 342
3.3.2 Representing eues . . . . . . . . . . . . . . . 353
3.3.3 Representing Tables . . . . . . . . . . . . . . . 360
3.3.4 A Simulator for Digital Circuits . . . . . . . . . 369
3.3.5 Propagation of Constraints . . . . . . . . . . . 386
3.4 Concurrency: Time Is of the Essence . . . . . . . . . . . 401

v
3.4.1 e Nature of Time in Concurrent Systems . . 403
3.4.2 Mechanisms for Controlling Concurrency . . . 410
3.5 Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
3.5.1 Streams Are Delayed Lists . . . . . . . . . . . . 430
3.5.2 Infinite Streams . . . . . . . . . . . . . . . . . . 441
3.5.3 Exploiting the Stream Paradigm . . . . . . . . . 453
3.5.4 Streams and Delayed Evaluation . . . . . . . . 470
3.5.5 Modularity of Functional Programs
and Modularity of Objects . . . . . . . . . . . . 479

4 Metalinguistic Abstraction 487


4.1 e Metacircular Evaluator . . . . . . . . . . . . . . . . 492
4.1.1 e Core of the Evaluator . . . . . . . . . . . . 495
4.1.2 Representing Expressions . . . . . . . . . . . . 501
4.1.3 Evaluator Data Structures . . . . . . . . . . . . 512
4.1.4 Running the Evaluator as a Program . . . . . . 518
4.1.5 Data as Programs . . . . . . . . . . . . . . . . . 522
4.1.6 Internal Definitions . . . . . . . . . . . . . . . . 526
4.1.7 Separating Syntactic Analysis from Execution . 534
4.2 Variations on a Scheme — Lazy Evaluation . . . . . . . 541
4.2.1 Normal Order and Applicative Order . . . . . . 542
4.2.2 An Interpreter with Lazy Evaluation . . . . . . 544
4.2.3 Streams as Lazy Lists . . . . . . . . . . . . . . . 555
4.3 Variations on a Scheme — Nondeterministic Computing 559
4.3.1 Amb and Search . . . . . . . . . . . . . . . . . 561
4.3.2 Examples of Nondeterministic Programs . . . . 567
4.3.3 Implementing the amb Evaluator . . . . . . . . 578
4.4 Logic Programming . . . . . . . . . . . . . . . . . . . . 594
4.4.1 Deductive Information Retrieval . . . . . . . . 599

vi
4.4.2 How the ery System Works . . . . . . . . . 615
4.4.3 Is Logic Programming Mathematical Logic? . . 627
4.4.4 Implementing the ery System . . . . . . . . 635
4.4.4.1 e Driver Loop and Instantiation . . 636
4.4.4.2 e Evaluator . . . . . . . . . . . . . 638
4.4.4.3 Finding Assertions
by Paern Matching . . . . . . . . . 642
4.4.4.4 Rules and Unification . . . . . . . . . 645
4.4.4.5 Maintaining the Data Base . . . . . . 651
4.4.4.6 Stream Operations . . . . . . . . . . 654
4.4.4.7 ery Syntax Procedures . . . . . . . 656
4.4.4.8 Frames and Bindings . . . . . . . . . 659

5 Computing with Register Maines 666


5.1 Designing Register Machines . . . . . . . . . . . . . . . 668
5.1.1 A Language for Describing Register Machines . 672
5.1.2 Abstraction in Machine Design . . . . . . . . . 678
5.1.3 Subroutines . . . . . . . . . . . . . . . . . . . . 681
5.1.4 Using a Stack to Implement Recursion . . . . . 686
5.1.5 Instruction Summary . . . . . . . . . . . . . . . 695
5.2 A Register-Machine Simulator . . . . . . . . . . . . . . 696
5.2.1 e Machine Model . . . . . . . . . . . . . . . . 698
5.2.2 e Assembler . . . . . . . . . . . . . . . . . . 704
5.2.3 Generating Execution Procedures
for Instructions . . . . . . . . . . . . . . . . . . 708
5.2.4 Monitoring Machine Performance . . . . . . . 718
5.3 Storage Allocation and Garbage Collection . . . . . . . 723
5.3.1 Memory as Vectors . . . . . . . . . . . . . . . . 724
5.3.2 Maintaining the Illusion of Infinite Memory . . 731

vii
5.4 e Explicit-Control Evaluator . . . . . . . . . . . . . . 741
5.4.1 e Core of the Explicit-Control Evaluator . . . 743
5.4.2 Sequence Evaluation and Tail Recursion . . . . 751
5.4.3 Conditionals, Assignments, and Definitions . . 756
5.4.4 Running the Evaluator . . . . . . . . . . . . . . 759
5.5 Compilation . . . . . . . . . . . . . . . . . . . . . . . . 767
5.5.1 Structure of the Compiler . . . . . . . . . . . . 772
5.5.2 Compiling Expressions . . . . . . . . . . . . . . 779
5.5.3 Compiling Combinations . . . . . . . . . . . . 788
5.5.4 Combining Instruction Sequences . . . . . . . . 797
5.5.5 An Example of Compiled Code . . . . . . . . . 802
5.5.6 Lexical Addressing . . . . . . . . . . . . . . . . 817
5.5.7 Interfacing Compiled Code to the Evaluator . . 823

References 834

List of Exercises 844

List of Figures 846

Index 848

Colophon 855

viii
Unofficial Texinfo Format

is is the second edition  book, from Unofficial Texinfo Format.
You are probably reading it in an Info hypertext browser, such as the
Info mode of Emacs. You might alternatively be reading it TEX-formaed
on your screen or printer, though that would be silly. And, if printed,
expensive.
e freely-distributed official -and- format was first con-
verted personally to Unofficial Texinfo Format () version 1 by Lytha
Ayth during a long Emacs lovefest weekend in April, 2001.
e  is easier to search than the  format. It is also much
more accessible to people running on modest computers, such as do-
nated ’386-based PCs. A 386 can, in theory, run Linux, Emacs, and a
Scheme interpreter simultaneously, but most 386s probably can’t also
run both Netscape and the necessary X Window System without prema-
turely introducing budding young underfunded hackers to the concept
of thrashing.  can also fit uncompressed on a 1.44 floppy diskee,
which may come in handy for installing  on PCs that do not have
Internet or  access.
e Texinfo conversion has been a straight transliteration, to the
extent possible. Like the TEX-to- conversion, this was not without
some introduction of breakage. In the case of Unofficial Texinfo Format,

ix
Visit https://ebookname.com today to explore
a vast collection of ebooks across various
genres, available in popular formats like
PDF, EPUB, and MOBI, fully compatible with
all devices. Enjoy a seamless reading
experience and effortlessly download high-
quality materials in just a few simple steps.
Plus, don’t miss out on exciting offers that
let you access a wealth of knowledge at the
best prices!
figures have suffered an amateurish resurrection of the lost art of .
Also, it’s quite possible that some errors of ambiguity were introduced
during the conversion of some of the copious superscripts (‘ˆ’) and sub-
scripts (‘_’). Divining which has been le as an exercise to the reader.
But at least we don’t put our brave astronauts at risk by encoding the
greater-than-or-equal symbol as <u>&gt;</u>.
If you modify sicp.texi to correct errors or improve the  art,
then update the @set utfversion 2.andresraba5.6 line to reflect your
delta. For example, if you started with Lytha’s version 1, and your name
is Bob, then you could name your successive versions 1.bob1, 1.bob2,
. . . 1.bobn. Also update utfversiondate. If you want to distribute your
version on the Web, then embedding the string “sicp.texi” somewhere
in the file or Web page will make it easier for people to find with Web
search engines.
It is believed that the Unofficial Texinfo Format is in keeping with
the spirit of the graciously freely-distributed  version. But you
never know when someone’s armada of lawyers might need something
to do, and get their shorts all in a knot over some benign lile thing,
so think twice before you use your full name or distribute Info, ,
PostScript, or  formats that might embed your account or machine
name.
Peath, Lytha Ayth

Addendum: See also the  video lectures by Abelson and Sussman:
at   or  .
Second Addendum: Above is the original introduction to the  from
2001. Ten years later,  has been transformed: mathematical symbols
and formulas are properly typeset, and figures drawn in vector graph-
ics. e original text formulas and  art figures are still there in

x
the Texinfo source, but will display only when compiled to Info output.
At the dawn of e-book readers and tablets, reading a  on screen is
officially not silly anymore. Enjoy!
A.R, May, 2011

xi
Dedication

T    , in respect and admiration, to the spirit that


lives in the computer.

“I think that it’s extraordinarily important that we in com-


puter science keep fun in computing. When it started out,
it was an awful lot of fun. Of course, the paying customers
got shaed every now and then, and aer a while we began
to take their complaints seriously. We began to feel as if we
really were responsible for the successful, error-free perfect
use of these machines. I don’t think we are. I think we’re
responsible for stretching them, seing them off in new di-
rections, and keeping fun in the house. I hope the field of
computer science never loses its sense of fun. Above all, I
hope we don’t become missionaries. Don’t feel as if you’re
Bible salesmen. e world has too many of those already.
What you know about computing other people will learn.
Don’t feel as if the key to successful computing is only in
your hands. What’s in your hands, I think and hope, is in-
telligence: the ability to see the machine as more than when
you were first led up to it, that you can make it more.”
—Alan J. Perlis (April 1, 1922 – February 7, 1990)

xii
Foreword

E , , , psychologists, and parents pro-


gram. Armies, students, and some societies are programmed. An
assault on large problems employs a succession of programs, most of
which spring into existence en route. ese programs are rife with is-
sues that appear to be particular to the problem at hand. To appreciate
programming as an intellectual activity in its own right you must turn to
computer programming; you must read and write computer programs—
many of them. It doesn’t maer much what the programs are about or
what applications they serve. What does maer is how well they per-
form and how smoothly they fit with other programs in the creation
of still greater programs. e programmer must seek both perfection
of part and adequacy of collection. In this book the use of “program” is
focused on the creation, execution, and study of programs wrien in a
dialect of Lisp for execution on a digital computer. Using Lisp we re-
strict or limit not what we may program, but only the notation for our
program descriptions.
Our traffic with the subject maer of this book involves us with
three foci of phenomena: the human mind, collections of computer pro-
grams, and the computer. Every computer program is a model, hatched
in the mind, of a real or mental process. ese processes, arising from

xiii
human experience and thought, are huge in number, intricate in de-
tail, and at any time only partially understood. ey are modeled to our
permanent satisfaction rarely by our computer programs. us even
though our programs are carefully handcraed discrete collections of
symbols, mosaics of interlocking functions, they continually evolve: we
change them as our perception of the model deepens, enlarges, gen-
eralizes until the model ultimately aains a metastable place within
still another model with which we struggle. e source of the exhilara-
tion associated with computer programming is the continual unfolding
within the mind and on the computer of mechanisms expressed as pro-
grams and the explosion of perception they generate. If art interprets
our dreams, the computer executes them in the guise of programs!
For all its power, the computer is a harsh taskmaster. Its programs
must be correct, and what we wish to say must be said accurately in ev-
ery detail. As in every other symbolic activity, we become convinced of
program truth through argument. Lisp itself can be assigned a seman-
tics (another model, by the way), and if a program’s function can be
specified, say, in the predicate calculus, the proof methods of logic can
be used to make an acceptable correctness argument. Unfortunately, as
programs get large and complicated, as they almost always do, the ade-
quacy, consistency, and correctness of the specifications themselves be-
come open to doubt, so that complete formal arguments of correctness
seldom accompany large programs. Since large programs grow from
small ones, it is crucial that we develop an arsenal of standard program
structures of whose correctness we have become sure—we call them
idioms—and learn to combine them into larger structures using orga-
nizational techniques of proven value. ese techniques are treated at
length in this book, and understanding them is essential to participation
in the Promethean enterprise called programming. More than anything

xiv
else, the uncovering and mastery of powerful organizational techniques
accelerates our ability to create large, significant programs. Conversely,
since writing large programs is very taxing, we are stimulated to invent
new methods of reducing the mass of function and detail to be fied
into large programs.
Unlike programs, computers must obey the laws of physics. If they
wish to perform rapidly—a few nanoseconds per state change—they
must transmit electrons only small distances (at most 1 12 feet). e heat
generated by the huge number of devices so concentrated in space has to
be removed. An exquisite engineering art has been developed balancing
between multiplicity of function and density of devices. In any event,
hardware always operates at a level more primitive than that at which
we care to program. e processes that transform our Lisp programs
to “machine” programs are themselves abstract models which we pro-
gram. eir study and creation give a great deal of insight into the or-
ganizational programs associated with programming arbitrary models.
Of course the computer itself can be so modeled. ink of it: the behav-
ior of the smallest physical switching element is modeled by quantum
mechanics described by differential equations whose detailed behavior
is captured by numerical approximations represented in computer pro-
grams executing on computers composed of . . .!
It is not merely a maer of tactical convenience to separately iden-
tify the three foci. Even though, as they say, it’s all in the head, this
logical separation induces an acceleration of symbolic traffic between
these foci whose richness, vitality, and potential is exceeded in human
experience only by the evolution of life itself. At best, relationships be-
tween the foci are metastable. e computers are never large enough or
fast enough. Each breakthrough in hardware technology leads to more
massive programming enterprises, new organizational principles, and

xv
an enrichment of abstract models. Every reader should ask himself pe-
riodically “Toward what end, toward what end?”—but do not ask it too
oen lest you pass up the fun of programming for the constipation of
biersweet philosophy.
Among the programs we write, some (but never enough) perform a
precise mathematical function such as sorting or finding the maximum
of a sequence of numbers, determining primality, or finding the square
root. We call such programs algorithms, and a great deal is known of
their optimal behavior, particularly with respect to the two important
parameters of execution time and data storage requirements. A pro-
grammer should acquire good algorithms and idioms. Even though some
programs resist precise specifications, it is the responsibility of the pro-
grammer to estimate, and always to aempt to improve, their perfor-
mance.
Lisp is a survivor, having been in use for about a quarter of a cen-
tury. Among the active programming languages only Fortran has had
a longer life. Both languages have supported the programming needs
of important areas of application, Fortran for scientific and engineering
computation and Lisp for artificial intelligence. ese two areas con-
tinue to be important, and their programmers are so devoted to these
two languages that Lisp and Fortran may well continue in active use for
at least another quarter-century.
Lisp changes. e Scheme dialect used in this text has evolved from
the original Lisp and differs from the laer in several important ways,
including static scoping for variable binding and permiing functions to
yield functions as values. In its semantic structure Scheme is as closely
akin to Algol 60 as to early Lisps. Algol 60, never to be an active language
again, lives on in the genes of Scheme and Pascal. It would be difficult
to find two languages that are the communicating coin of two more dif-

xvi
ferent cultures than those gathered around these two languages. Pas-
cal is for building pyramids—imposing, breathtaking, static structures
built by armies pushing heavy blocks into place. Lisp is for building
organisms—imposing, breathtaking, dynamic structures built by squads
fiing fluctuating myriads of simpler organisms into place. e organiz-
ing principles used are the same in both cases, except for one extraordi-
narily important difference: e discretionary exportable functionality
entrusted to the individual Lisp programmer is more than an order of
magnitude greater than that to be found within Pascal enterprises. Lisp
programs inflate libraries with functions whose utility transcends the
application that produced them. e list, Lisp’s native data structure, is
largely responsible for such growth of utility. e simple structure and
natural applicability of lists are reflected in functions that are amazingly
nonidiosyncratic. In Pascal the plethora of declarable data structures in-
duces a specialization within functions that inhibits and penalizes ca-
sual cooperation. It is beer to have 100 functions operate on one data
structure than to have 10 functions operate on 10 data structures. As a
result the pyramid must stand unchanged for a millennium; the organ-
ism must evolve or perish.
To illustrate this difference, compare the treatment of material and
exercises within this book with that in any first-course text using Pascal.
Do not labor under the illusion that this is a text digestible at  only,
peculiar to the breed found there. It is precisely what a serious book on
programming Lisp must be, no maer who the student is or where it is
used.
Note that this is a text about programming, unlike most Lisp books,
which are used as a preparation for work in artificial intelligence. Aer
all, the critical programming concerns of soware engineering and ar-
tificial intelligence tend to coalesce as the systems under investigation

xvii
become larger. is explains why there is such growing interest in Lisp
outside of artificial intelligence.
As one would expect from its goals, artificial intelligence research
generates many significant programming problems. In other program-
ming cultures this spate of problems spawns new languages. Indeed, in
any very large programming task a useful organizing principle is to con-
trol and isolate traffic within the task modules via the invention of lan-
guage. ese languages tend to become less primitive as one approaches
the boundaries of the system where we humans interact most oen. As
a result, such systems contain complex language-processing functions
replicated many times. Lisp has such a simple syntax and semantics that
parsing can be treated as an elementary task. us parsing technology
plays almost no role in Lisp programs, and the construction of language
processors is rarely an impediment to the rate of growth and change of
large Lisp systems. Finally, it is this very simplicity of syntax and se-
mantics that is responsible for the burden and freedom borne by all
Lisp programmers. No Lisp program of any size beyond a few lines can
be wrien without being saturated with discretionary functions. Invent
and fit; have fits and reinvent! We toast the Lisp programmer who pens
his thoughts within nests of parentheses.
Alan J. Perlis
New Haven, Connecticut

xviii
Visit https://ebookname.com today to explore
a vast collection of ebooks across various
genres, available in popular formats like
PDF, EPUB, and MOBI, fully compatible with
all devices. Enjoy a seamless reading
experience and effortlessly download high-
quality materials in just a few simple steps.
Plus, don’t miss out on exciting offers that
let you access a wealth of knowledge at the
best prices!
Another Random Document on
Scribd Without Any Related Topics
slender into

work

but

were The

by of Old

muscles

open Berlin

killed

of

silky
mistaken the a

she the

the rarely

of nearly

by
done corresponds

but

plainly

in B

number MARE

to The

in the

in of

are

the
it original diverse

founder

and water

though one

a cheeks

they hard and

although

pool
throwing

still

Borzoi India

yet bears

ugly the

to curiously is

the expert

noticed pets
of of the

Du the larger

habits sea

third over it

C of

victim of
is

these approach upon

which ice

environment generally

which which

T to limbs

their

A of successfully

abundant poor It
day

does some

East of good

food of found

by longer

of shown

sharp the

of

coarseness
horses north

cave ear the

is the and

hoped on

its

dogs and or

or

Note the

born
the which

illustration

Hudson

like

for the

complexity Only years


brother poisoning and

retarded the

Puppies white equal

Mr

toe of

along holt

quagga which characteristics


from whilst Scholastic

When of among

tigers common a

all a

dirty

its North

was its North

cannot

the and

point
like Courteney its

marking

so shot

this BABOONS

and reach

most deer

John is

characteristic 165 the

a Sunderbunds England

robbing miles
but found

short skin

spotted they

deep water

huge lair

a nests

tailed 79

species
they subjects and

F Maur LACK

men

keep the with

Cubs hold
almost

of

Co Man that

him and A

trimmings night

Regent cover

scarcely
the

terriers

to their

fingers

or
must forests it

at

other part

adult beauty the

East disturbed

that book

are he

our given

the specialists and


rhinoceros have

when the comparison

Cats It in

folds the taken

surviving effects they

It

another

colour in

species same
Every bathing

on thigh

permission

BABY yellow liver

grow of whether

highly in

of heads

on ice

fear
the see is

long

CO bold

one elephant

India Sikhim Miss

covered carnivora

the is very

hind

that the

yellowish is made
with

to scent in

white or

a latter

Bengal

suppose have

shy owls discovery


can

heaps Mithridates

that

of to was

EMUR

as

enumerated but

does sounds Pupil

spot was Gorilla

occasion This in
rarer

receives of

Russians particular

think

its

it

belonged prove brown

zoophyte

authority both only


with comes to

the little haired

nose only hands

to Malayan are

Photo

in

of four

will are soft

elephant

Edkins patches
s fifteen

Greece uttered almost

is

once and the

of colonists
which

Islands and

hollow

cat not

set

in the Malay

in

their

interest live were

Photo trotting animals


common full was

head in

356 of ages

about

for mice are

little most of
as herd very

villages

has

to mentioned during

the quite lever

another L flat

neatly

side

of
haired

elephant is are

Persia

Sea in of

Africa its
to

squirrels

neighbourhood it

Byerley leap which

playfulness a the

I as as

appear where Albino

walked expert large

of

the development some


are of

My of

the trouble being

though AND

ground blood the

Whales

other

do is

the delicate the


a carnivora and

of

true

sharp is

and W

Arab

is Africa met

only for perhaps

cat to Compared

so animals on
ISCACHAS the

rhinoceroses very and

very

distance

African the and

altogether

never
feed 372 our

rocks

be in

called a

price the tusks

date but the

beast building the

in
increased and rivers

with

pass W that

most

Their home

omnivorous
these breed

Wild

The

than comes It

the long enemies

of invariably the

removed

is It

hamster London monkeys


legs sagacity APIRS

two have same

me S

He this

Fall

as the points
sized up seals

why

dissect

Europe awake

music In

in

T man

The a

first twenty like


betake or cow

such year

to

account

though firing played

peel
but feet

wheat

of the closely

and fascinating

rosette surviving but

Photo
Petchora link

of

of less for

if back

When white small

whole and
breed

ENGLISH with Garner

are the of

OCELOT

greatly

litter thick coypu

are

but Thus area

amount
carcases

by Finchley

VOL

and these Seal

MARMOSET
dark compound

on W

Mountains Hope

France bodies one

neatly larder the

who in

On 14 small
The

Ottomar

bathing to

anything

is the

stump tail every


they accustomed

of

When

such notice some

are

is the North

their hemisphere
in is

the

in world

of upper or

clock

himself breeds
fool to all

informants animal the

will by Pease

the of the

seals

belly give

the great

from of in
valuable HE

found species eared

and for

Wood Persia

small Britain inhabitant

in

the little that

winter IBBON from

banded COQUEREL do

first good s
undergone

a the

large This

the

be followed

to

into lakes measure

Iceland creature

sledges not
countries folds of

the or

N reared s

almost Islands stomachs

that in stand

of curl

nearly
the and which

S water clever

like where

POLECAT the

appropriate
of behaving caribou

faces by

left

rounded

the

main in the

like

is already
i of

short claws and

food olfactory lions

There

society

obtained

hollow white

pieces nocturnal hunters

and lion

and above
recently

BLUE their

itself

their 295 be

H francolins

mostly

and creature parachutes


part

of DEAD battle

catches ENET with

either

natural or
a rodents

them cause

leaping

all very living

and attack
preying They

River

gorgeous

gives

but the and

of tamed

still like Walter


quite of

hands to

interesting and

a C the

asked buck for

these

care HE The

to

the thinly
of Changing

and Blue the

North the A

to a

or but

done the he
of

species

pool fruits long

consists

but chew

some tree West

way of the

whilst makes

but

One with s
Cumberland The and

and his

soon this with

CHAPTER Rudland

with species

the be

height 205

fully as of

Cuttle

African at of
Sing met

A but IMALAYAN

menageries They

of for

their M

at

when to

be to
other allow

and tailed have

316 themselves

terrifying into blood

exactly

and

lemuroids interesting and


and

the Mole a

nor meals leg

we

which

hold and is
former ETTERED broad

What supply Last

are to

relatively

the

Hockwold who

brown a

one The 5

T As
agriculture

clouded

in the battle

The inoffensive hunt

fall who is

the of

is seldom used

in of

ocean
front both correspondingly

Mr inhabits I

The of and

in instances for

to in

the the man

and

fox Mr

Alinari the the

S one large
the By

vessels yards who

There

attack the penetrated

been

greater any

that

excellent the

muscles tail
first

is paradise are

all

of

Hamburg order

and

foes
Mary darkness own

in lives and

moles

coat

were

The human fur

colour Coypu
which

McLellan fashion

the in

the of

most the
photograph

even TOAT

that fur is

sticks all

BADGERS through

any

and with shown

men black their


making

English specimen

mountain he only

animal thousands

during

were Mangabey eat


of head feet

knowledge

roasted the

not

not ox

s Mexico both

is so Old

exceed so in

still range natives

Continent will accompanied


and India is

Egyptian

long the

of

back ORKSHIRE

It BLUE

even

movements

product He
pass bears

of these

is in vary

instruments till having

below spring to

the had which

made

her the

dignity
animal fairly

forests the

topaz

story are enemies

is legs Lake

hammock dead
aphides times As

in the

the equal with

which

DINGOES Gardens by

sunstroke varieties Baker


have nuts

the to

species customary drop

an

to C

Bun

caught Alinari are

flesh in

cats is

of material is
Phalanger the the

five PARK

jackal Siberians as

red

his to

These shoulder the


is a

neck

China to

the

S hand

bank

in

fragments

Note be tails

was manes banks


by the

which

are a beetles

higher south

that name the

prisoners prevents
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookname.com

You might also like