Structure and Interpretation of Computer Programs (Mit Electrical Engineering and Computer Science) (2ND)

個数:

Structure and Interpretation of Computer Programs (Mit Electrical Engineering and Computer Science) (2ND)

  • 在庫がございません。海外の書籍取次会社を通じて出版社等からお取り寄せいたします。
    通常6~9週間ほどで発送の見込みですが、商品によってはさらに時間がかかることもございます。
    重要ご説明事項
    1. 納期遅延や、ご入手不能となる場合がございます。
    2. 複数冊ご注文の場合、分割発送となる場合がございます。
    3. 美品のご指定は承りかねます。
  • 【入荷遅延について】
    世界情勢の影響により、海外からお取り寄せとなる洋書・洋古書の入荷が、表示している標準的な納期よりも遅延する場合がございます。
    おそれいりますが、あらかじめご了承くださいますようお願い申し上げます。
  • ◆画像の表紙や帯等は実物とは異なる場合があります。
  • ◆ウェブストアでの洋書販売価格は、弊社店舗等での販売価格とは異なります。
    また、洋書販売価格は、ご注文確定時点での日本円価格となります。
    ご注文確定後に、同じ洋書の販売価格が変動しても、それは反映されません。
  • 製本 Hardcover:ハードカバー版/ページ数 683 p.
  • 言語 ENG
  • 商品コード 9780262011532
  • DDC分類 005.1

Full Description


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 systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Contents

Part 1 Building abstractions with proceduresprogramming; expressions; naming and the environment; evaluating combinations; compound procedures; the substitution model for procedure application; conditional expressions and predicates; example: square roots by Newton's method; procedures as black-box abstractions; procedure and the processes they generate; linear recursion and iteration; tree recursion; orders of growth; exponentiation; greatest common divisors; example: testing primality; formulating abstractions with higher-order procedures; procedures as arguments; constructing procedures using Lambda; procedures as general methods; procedures as returned values. Part 2 Building abstractions with data: introduction to data abstraction; example: arithmetic operations for rational numbers; abstraction barriers; what is meant by data? extended exercise: interval arithmetic; hierarchical data and the closure property; representing sequences; hierarchical structures; sequences as conventional interfaces; example: a picture language; symbolic data; quotation; example: symbolic differentiation; example: representing sets; example: Huffman encoding trees; multiple representations for abstract data; representations for complex numbers; tagged data; data-directed programming and additivity; systems with generic operations; generic arithmetic operations; combining data of different types; example: symbolic algebra. Part 3 Modularity, objects, and state: assignment and local state; local state variables; the benefits of introducing assignment; the costs of introducing assignment; the environment model of evaluation; the rules for evaluation; applying simple procedures; frames as the repository of local state; internal definitions; modelling with mutable data; mutable list structure; representing queues; representing tables; a simulator for digital circuits; propagation of constraints; concurrency: time is of the essence; the nature of time in concurrent systems; mechanisms for controlling concurrency; streams; streams are delayed lists; infinite streams; exploiting the stream paradigm; streams and delayed evaluation; modularity of functional programs and modularity of objects. Part 4 Metalinguistic abstraction: the metacircular evaluator; the core of the evaluator; representing expressions; evaluator data structures; running the evaluator as a program; data as programs; internal definitions; separating syntactic analysis from execution; variations on a scheme - lazy evaluation; normal order and applicative order; an interpreter with lazy evaluation; streams as lazy lists. (Part contents).