タグ

ブックマーク / user.ecc.u-tokyo.ac.jp/~tt076524 (2)

  • On Lisp --- 非決定性

    プログラミング言語を使うことで,膨大な量の詳細に飲み込まれないで済んでいる. Lispがよいプログラミング言語なのは,それ自身が多くの詳細を扱ってくれて, プログラマが耐えられる複雑さの限界を有効に使わせてくれている. この章ではマクロでLispにさらに別の種類の詳細を扱わせる方法を示す. 非決定的なアルゴリズムを決定的なものに変換することの詳細だ. この章は5つの部分に分けられる. まず,非決定性とは何かを説明する. 次に,非決定的なchooseとfailを継続を使ってSchemeで実装する. 3番目では,第20章の継続渡しマクロを基礎にCommon Lispで実装したchooseとfailを示す. 4番目では,オペレータcutをPrologとは独立に理解する方法を示す. 最後に,非決定的オペレータの改良について考察する. この章で定義される非決定的な選択オペレータは, 第23章のATN

  • On Lisp

    Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト Copyright (c) 2003-2005 野田 開     NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>

  • 1