-
インタープリタ デザインパターンと LISP の論理的な関係。
-
デザインパターンの各解説書でインタープリタ デザインパターンのメタファとして「文法表現」を与えていますが、
そのインタープリタ デザインパターンに対し LISP の概念との対応を与えることができます。
インタープリタ デザインパターンと LISP との論理的な関係を以下に示します。
LISP の概念による説明 | インタープリタ デザインパターンの概念による説明 |
静的な型が付けられたS式(多くの LISP 実装は静的型を持たないためこのように表現しました) | Expression 役 |
副作用 | Context 役インスタンスへの作用 |
c言語や機械語で実装された関数の実装 | Expression 役を実装したクラスの interpret メソッド |
関数 | Expression 役を実装したクラス |
LISP 文 | インスタンスのコンポジット |
nil | ヌルオブジェクト |
マクロ | コンポジットを生成する処理 |
LISPとの相似性により、インタープリタ デザインパターンは手続き型言語の中で関数型言語を扱うためのパターンであるということができます。
トップに戻る
Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.