作用型項書換え系に基づく関数論理型言語の設計と実装

浜名 誠, 西岡 知之, 中原 鉱一, アート ミデルドープ, 井田 哲雄.

Abstract

プログラミング言語Evは, 関数型言語の特徴である高階関数,遅延評価, 及び論理型言語の論理変数や非決定的な実行といった特徴を 兼ね備えた言語である. Evは, 作用型条件付き項書換え系に対して, ナローイングを効率良く実行する計算系LNCを適用するとい う計算モデルを持つ. 構文的には, 作用型条件付き項書換え系を基本に,多くの糖衣構文を用意した. これにより,可読性の高いプログラムを書くことが可能である.

本論文では, 関数論理型言語Evの(1)概要,(2)理論的背景, (3)処理系の実装方法, 特に構文処理上の 技法について述べる. 処理系は,大きく分けて, 構文処理を行なうフロントエンド部と, 実際に計算を行なうインタプリタ部, これらを統合するユーザインターフェース部からなる. フロントエンド部では, 局所定義の持ち上げや, レイアウトルールの適用を行なう. 局所定義の持ち上げには,ラムダ持ち上げを応用した技法を用 いている. 計算系LNCは推論規則の形で記述してあるため, LNCに基づくインタプリタをProlog上に容易に実現することがで きる.


Last modified: Tue Apr 29 05:45:41 JST 1997