実行機構の類似性に着目した関数型言語と論理型言語の融合 Amalgamation of Functional and Logic Programming Languages Based on Similarities in Execution Mechanisms

この論文にアクセスする

この論文をさがす

著者

抄録

本論文では Lispをべースとして論理型プログラミングを融合したマルチパラダイム言語TAOについて述べる. これまで研究されたきた融合型言語においては 純粋な関数型言語と論理型言語を融合するものが多かったが TAOではすべてのLispプリミティブと論理型プログラミングを利用できる. TAOでは Lispと論理型言語の実行機構の類似性に着目した融合を行う. ここで 実行機構の類似性とは 状態変数と論埋変数 関数呼び出しと述語呼び出し 大域的脱出とバックトラックなどを指す. たとえば catch/throwのような脱出とバックトラックには類似性があり バックトラックを大域脱出の一種と考えることができる. これにより バックトラックが Lispの大域脱出に関するさまざまなプリミティブを自然に利用できるようになる.This paper describes a Lisp-based multi-paradigm programming language TAO that incorporates a logic programming (LP) paradigm. Whereas previous multi-paradigm languages only supported purely functional and LP facilities, TAO supports all Lisp primitives as well as LP facilities. This amalgamation of Lisp and LP is done by making use of the similarities in their execution mechanisms, giving a natural semantics to the amalgamation. The similarities include state vs. logic variables, function vs. predicate calling, and non-local exit vs. backtracking. For example, the similarity between non-local exit (catch/throw) and backtracking enables backtracking to be regarded as a kind of non-local exit, so that backtracking can use all Lisp facilities which support non-local exit.

This paper describes a Lisp-based multi-paradigm programming language TAO that incorporates a logic programming (LP) paradigm. Whereas previous multi-paradigm languages only supported purely functional and LP facilities, TAO supports all Lisp primitives as well as LP facilities. This amalgamation of Lisp and LP is done by making use of the similarities in their execution mechanisms, giving a natural semantics to the amalgamation. The similarities include state vs. logic variables, function vs. predicate calling, and non-local exit vs. backtracking. For example, the similarity between non-local exit (catch/throw) and backtracking enables backtracking to be regarded as a kind of non-local exit, so that backtracking can use all Lisp facilities which support non-local exit.

収録刊行物

  • 情報処理学会論文誌

    情報処理学会論文誌 40(6), 2743-2754, 1999-06-15

    一般社団法人情報処理学会

参考文献:  17件中 1-17件 を表示

被引用文献:  2件中 1-2件 を表示

各種コード

  • NII論文ID(NAID)
    110002725019
  • NII書誌ID(NCID)
    AN00116647
  • 本文言語コード
    JPN
  • 資料種別
    Journal Article
  • ISSN
    1882-7764
  • NDL 記事登録ID
    4764278
  • NDL 雑誌分類
    ZM13(科学技術--科学技術一般--データ処理・計算機)
  • NDL 請求記号
    Z14-741
  • データ提供元
    CJP書誌  CJP引用  NDL  NII-ELS  IPSJ 
ページトップへ