viewPPに関連する用語集

CONS
任意の型の2つのデータを持つ構造であり,この2つの要素は それぞれ Car および Cdr と呼ばれる.Car の方が Cdr よりも 「前に」あると考えるのが普通である.KL1言語においては, “[Car|Cdr]”のように表現する.この中にさらにCONSを入れ子に することによってリスト構造を作ることができる.リスト構造は 一般的には“[a,b,c]”のような 表記をされることが多いが,これは“[a|[b|[c|[]]]]”の略記である.
KL1
並列論理型言語の一つで,Guarded Horn Clauses に基づいて 設計された言語. ガード付きホーン節の集合としてプログラムが記述される. ぱっと見た目は Prolog にそっくりであるが,動作の仕方は だいぶ異なる.
klic
東京大学の近山先生らによって作られた,KL1言語の処理系. ICOT Free Softwareとして公開されている.
klitcl
klic のプログラムにTcl/Tkを用いたGUIを付けることが できるようにするためのプログラム. ICOT Free Softwareとして公開されているが, viewPPに同梱されているklitclはこっそりバージョンが上っていたり するので注意が必要である:-)
バージョンアップ用のパッチがviewPPシステムに同梱される.
PP
並列論理型言語GHCを可視化するビジュアルプログラミングシステム の一つ.詳細は 筑波大学 iplab, PP Family のPageに記述がある.
アトム
KL1言語における最も基本的なデータ型.内部構造を持たず, その名前のみに意味があるようなデータのこと.KL1言語においては, その名前のみに意味がある記号アトムと整数を表わすための整数アトム がある.ちなみに現在の“viewPP”の実装では記号アトムしか サポートされていない.
グラフ構造
「節(Node)」と,複数の節の間を接続する「辺(Arc,Edge)」 によって物体間の関係などを記述するための構造.有向グラフ・ 無向グラフ・単純グラフなど様々なクラスが存在する.“viewPP”では 「単純無向グラフ」というクラスに属するグラフでプログラムを表現 している.
述語
簡単に言えば,KL1言語における手続き・サブルーチンのようなもの. そのへんによくある手続き型言語の手続きなどと異なるのは,名前が 同じでも引数の数(アリティ)が異なれば別のものとして区別される という点,返り値が必要な場合はそのための引数が必要になるという点 などがある.
KL1 やその他のProlog系の言語における記述の単位. Prologにおいては“《head》 :- 《body》.”という形式であり, 《head》に項が一つ以下しかない「ホーン節」と呼ばれる節である. KL1 での節は,《body》がさらに“《gard》|《body》”という型に なっている「ガード付きホーン節」と呼ばれるものである.節は さらに小さい単位である「項」に分割できる.
ビジュアルプログラミング
プログラムをテキストでなく図形で表現し,また, 図形表現によって実行・デバッグまで可視化したプログラミングのこと. 可読性の向上・並列性を分りやすく表現できること,などに効果がある. なお,Microsoft社の Visual {Basic|C++|J++} の類はビジュアル プログラミングシステムとは呼ばないのが普通である.
論理変数
手続き型言語で使われる変数とは異なり, 単一化によって(代入とは言わない)一旦変数の値が 定まったらそれを変更することはできない.また,値が決っていない 状態があるというのも特徴である.つまり,変数だけ作っておいて 後からそれに値を束縛するということが可能であり,リスト構造と 組みあわせて「不完全なデータ構造」というものを作り,それを うまく利用することが KL1 言語における重要なプログラミング テクニックとなっている.