Next:
1 プログラムをデータとして扱う
Up:
Software III Top
ソフトウェア第三 講義資料
クロージャ,スコープ,遅延評価,オブジェクト,立体モデル
稲葉 雅幸
1 プログラムをデータとして扱う
1.1 引数としてわたす手続き
1.2 関数の戻り値として返す手続き
2 第一級身分
3 Funarg問題(Function Argument Problem)
4 関数閉包(closure)
4.1 レキシカルクロージャ
4.2 リードマクロ
4.3 クロージャを返す関数の例
5 スコープ,バインディング,エクステント
6 リードマクロ
7 シンボルの関数定義
8 クロージャによる結果記憶型関数(memoization)の実現
8.1 結果記憶手続きへの変換手続き
8.2 結果記憶型関数を定義するマクロの定義
8.3 2引数以上の関数の場合
9 遅延評価(lazy evaluation)
9.1 遅延評価の実現
9.2 遅延評価の一般化
9.3 memoizationの追加
10 構造体とsetf
11 データ指向型プログラミング
11.1 構造体でデータを表現する方法
11.2 クロージャによるオブジェクトと手続きの一体化
11.3 メッセージ送信プログラミング
11.4 Generic Function
11.5 クラスの定義例
12 オブジェクト指向
13 オブジェクト指向プログラミングの例
13.1 クラスの定義
13.2 メソッドの定義
13.3 インスタンスの生成
13.4 シミュレーションの例(1)
13.5 シミュレーションの例(2)
14 オブジェクト指向機能の実現
14.1 クラスの実現
14.2 メソッドの実現
14.3 Instance生成
14.4 メソッドの探索
14.5 Sendの実現
15 Euslispのオブジェクト指向
プログラミング例題
16 探索プログラム例
16.1 グラフの表現
16.2 探索木の生成
16.3 縦型,横型探索
17 迷路の問題
18 積み木の問題
18.1 3つの積み木の場合の縦型・横型探索
19 座標系,空間の記述
19.1 ベクトル
19.2 行列
19.3 回転行列
20 座標系モデル
20.1 locate, rotate
20.2 親子関係の定義assoc,dissoc
21 三次元形状記述
21.1 bodyクラス
21.2 基本立体定義
21.3 集合演算
22 グラフィックス表示
23 eus/sampleデモプログラム
23.1 demo0.l
23.2 demo1.l
23.3 demo2.l
23.4 demo5.l
24 ハノイの塔のモデル sample/hanoi.l
24.1 テーブルの定義
24.2 面データの検索と座標系設定
24.3 ディスクの定義
24.4 表示画面の設定
24.5 ディスクの移動コマンド
24.6 ハノイの塔の移動プログラムの生成
この文書について...
generated through LaTeX2HTML. M.Inaba 平成18年5月7日