next up previous contents index
Next: ジェネリック・オブジェクトのデータ構造 Up: ジェネリック・オブジェクト Previous: ジェネリック・オブジェクト

ジェネリック・オブジェクトの種類

ジェネリック・オブジェクトは 実行時カーネルから見た場合、(少なくとも top level について)、 以下のように分類できる。

分類の各々に応じて、以下の呼ばれるオブジェクトの種別が用意されている。

Data object
具体化されているデータと同様の扱い を行うべき オブジェクト である。  

Consumer object
値が決められればそれに応じて計算が行われる オブジェクト である。  

Generator object
今までのKL1処理系には (少なくとも 言語表面には ) なかったデータ型。  

つまり、generator は cosumer を包含した機能を持つものである。

メソッド表の構成、他の(つまり、通常のKL1の)データ構造との関係は、 これら3種類で各々異る。

なお、consumer, generatorは、言語表層上では、あくまで「未定義変数」であり、 具体値ではない。 よって、「未定義変数」には、純粋未定義変数以外に、これらのオブジェクト も含まれる。 さらに、 次章で述べる「中断要因となっている未定義変数」も未定義変数である。 言語上は「未定義変数」となるデータ構造についての実装の一覧を 図2.5に挙げる。


  
Figure 2.5: 未定義変数の分類
\begin{figure}\begin{center}
\begin{displaymath}
未定義変数 \left\{
\begin{arra...
...\ldots Generator
\end{array} \right.
\end{displaymath}
\end{center}\end{figure}

 



Sekita Daigo
1998-05-18