2006-09-20
13.6 演習問題
IV. 付録
A. Mozartシステム開発環境
A.1 対話的インターフェース
A.2 コマンドラインインターフェース
B. 基本データ型
B.1 数値(整数、浮動小数点数と文字)
B.2 リテラル(アトムと名前)
B.3 レコードとタプル
B.4 チャンク(制限されたレコード)
B.5 リスト
B.6 文字列
B.7 仮想文字列
C. 言語の文法
C.1 対話的な文
C.2 文と式
C.3 文と式に対する非終端記号
C.4 演算子
C.5 キーワード
C.6 字句構文
D. 汎用計算モデル
D.1 創造的な拡張原則
D.2 核言語
D.3 コンセプト
D.4 状態の別の形式
D.5 他のコンセプト
D.6 層化された言語設計
参考文献
索引
英語の目次
Preface
Running the Example Programs
1. Introduction to Programming Concepts
1.1 A calculator
1.2 Variables
1.3 Functions
1.4 Lists
1.5 Functions over lists
1.6 Correctness
1.7 Complexity
1.8 Lazy evaluation
1.9 Higher-order programming
1.10 Concurrency
1.11 Dataflow
1.12 Explicit state
1.13 Objects
1.14 Classes
1.15 Nondeterminism and time
1.16 Atomicity
1.17 Where do we go from here?
1.18 Exercises
I. GENERAL COMPUTATION MODELS
2. Declarative Computation Model
2.1 Defining practical programming language
2.2 The single-assignment store
2.3 Kernel language
2.4 Kernel language semantics
2.5 Memory management
2.6 From kernel language to practical language
2.7 Excepctions
2.8 Advanced topics
2.9 Exercises
3. Declarative Programming Techniques
3.1 What is declarativeness?
3.2 Iterative computation
3.3 Recursive computation
3.4 Programming with recursion
3.5 Time and spcae efficiency
3.6 Higher-order programming
3.7 Abstract data types
3.8 Nondeclarative needs
3.9 Programming design in the small
3.10 Exercises
4. Declarative Concurrency
4.1 The data-driven concurrent model
4.2 Basic thread programming techniques
4.3 Streams
4.4 Using the declarative concurrent model directly
4.5 Lazy execution
4.6 Soft real-time programming
4.7 The Haskell language
4.8 Limitations and extensions of declarative programming
4.9 Advanced topics
4.10 Historical notes
4.11 Exercises
5. Message-Passing Concurrency
5.1 The message-passing concurrent model
5.2 Port objects
5.3 Simple message protocols
5.4 Program desing for concurrency
5.5 Lift control system
5.6 Using message-passing model directly
5.7 The Erlang language
5.8 Advanced topic
5.9 Exercises
6. Explicit State
6.1 What is state?
6.2 State and system building
6.3 The declarative model with explicit state
6.4 Data abstraction
6.5 Stateful collections
6.6 Reasoning with state
6.7 Program desing int the large
6.8 Case studies
6.9 Advanced topic
6.10 Exercises
7. Object-Oriented Programming
7.1 Inheritance
7.2 Classes as complete data abstrations
7.3 Classes as incremental data abstractions
7.4 Programming with inheritance
7.5 Relation to other computation models
7.6 Implementing the object system
7.7 The Java language (sequential part)
7.8 Active objects
7.9 Exercises
8. Shared-State Concurrency
8.1 The shared-state concurrent model
8.2 Programming with concurrency
8.3 Locks
8.4 Monitors
8.5 Transactions
8.6 The Java language (concurrent part)
8.7 Exercises
9. Relational Programming
9.1 The relational computation model
9.2 Further examples
9.3 Relation to logic programming
9.4 Natural language parsing
9.5 A grammar interpreter
9.6 Databases
9.7 The Prolog language
9.8 Exercises
II. SPECIALIZED COMPUTATION MODELS
10. Graphical User Interface Programming
10.1 The declarative/procedural approach
10.2 Using the declarative/procedural approach
10.3 The Prototyper interactive learning tool
10.4 Case studies
10.5 Implementing the GUI tool
10.6 Exercises
11. Distributed Programming
11.1 Taxonomy of distributed systems
11.2 The distribution model
セ記事を書く
セコメントをする