Next:
1 プログラムをデータとして扱う
Up:
Software IV Top
ソフトウェア特論 講義資料
クロージャ,オブジェクト指向
稲葉 雅幸
1 プログラムをデータとして扱う
1.1 引数としてわたす手続き
1.2 関数の戻り値として返す手続き
2 第一級身分
3 Funarg問題(Function Argument Problem)
4 関数閉包(closure)
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 オブジェクト指向プログラミング
12.1 CLOS
12.2 クラス,メソッド,スロットアクセス
12.3 スロットの属性設定
12.4 スーパクラス
12.5 多重継承
13 シミュレーション例
13.1 クラスの定義
13.2 メソッドの定義
13.3 インスタンスの生成
13.4 シミュレーションの例(1)
13.5 シミュレーションの例(2)
14 探索プログラムの実現
14.1 グラフの表現
14.2 探索木の生成
14.3 縦型,横型探索
14.4 迷路の問題
14.5 積み木の問題
15 CLOSのクラスシステムの実現
15.1 クラスの実現
15.2 クラス定義の実現
15.3 メソッドの実現
15.4 Instance生成
15.5 メソッドの探索
15.6 Sendの実現
15.7 例
練習問題
16 Emacsの中でCLispを走らせる方法
この文書について...
generated through LaTeX2HTML. M.Inaba 平成18年5月6日