<?xml version='1.0' encoding='UTF-8'?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-05-11T09:38:23Z</responseDate>
  <request metadataPrefix="jpcoar_1.0" verb="GetRecord" identifier="oai:ipsj.ixsq.nii.ac.jp:00016430">https://ipsj.ixsq.nii.ac.jp/oai</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:ipsj.ixsq.nii.ac.jp:00016430</identifier>
        <datestamp>2025-01-22T23:52:31Z</datestamp>
        <setSpec>934:935:938:939</setSpec>
      </header>
      <metadata>
        <jpcoar:jpcoar xmlns:datacite="https://schema.datacite.org/meta/kernel-4/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcndl="http://ndl.go.jp/dcndl/terms/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:jpcoar="https://github.com/JPCOAR/schema/blob/master/1.0/" xmlns:oaire="http://namespace.openaire.eu/schema/oaire/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rioxxterms="http://www.rioxx.net/schema/v2.0/rioxxterms/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="https://github.com/JPCOAR/schema/blob/master/1.0/" xsi:schemaLocation="https://github.com/JPCOAR/schema/blob/master/1.0/jpcoar_scm.xsd">
          <dc:title>関数型評価器および項書き換え器の Prolog 上の実装</dc:title>
          <dc:title xml:lang="en">Building Interpreters for Functional Terms and for Rewriting Terms on Top of SWI-Prolog</dc:title>
          <jpcoar:creator>
            <jpcoar:creatorName>向井, 国昭</jpcoar:creatorName>
            <jpcoar:creatorName>井出, 陽子</jpcoar:creatorName>
          </jpcoar:creator>
          <jpcoar:creator>
            <jpcoar:creatorName xml:lang="en">Kuniaki, Mukai</jpcoar:creatorName>
            <jpcoar:creatorName xml:lang="en">Yoko, Ide</jpcoar:creatorName>
          </jpcoar:creator>
          <jpcoar:subject subjectScheme="Other">発表概要</jpcoar:subject>
          <datacite:description descriptionType="Other">高階述語の引数としてソート付きのラムダ式を許す評価器 （eval），および，適用可能な部分がなくなるまで書き換え規則を適用する項書き換え器 （reduce），この 2 つの述語を SWI-Prolog の上に実装した．関数を表す通常のラムダ項のほかに関係を表すラムダ項を新たに導入した．この導入により，Prolog の特長であるデータの流れの双方向性を活かす，いわば関係型のラムダ計算を実現した．Eval は代数構造における準同型規則を解釈する述語であり，reduce は等号論理のパラモジュレーション規則を解釈する述語であると見なす．つまりいずれも簡潔明快な根拠を持つ計算モデルに基づいて設計した．適用例として Emacs-lisp・Ajax・Unix シェルをとりあげ，それらと Prolog の間のインタフェースの実現方法を示す．Emacs-lisp へは S 式を送信し，それを実行させることにより制御する．こうして Emacs バッファの複雑な編集・制御に，宣言的な Prolog の限定節を用いることができる．Ajax とのインタフェースは，Ajax が関数式を Prolog CGI に送信し，Prolog はそれを eval 述語で評価し，結果の値を HTML として Ajax のフィルタに返信する，という流れである．Unix シェルの呼び出しは，Bash コマンドをまず Prolog の項として表現・生成・操作し，最後にそれを eval 述語でコマンドラインテキストに変換して Unix シェルに送信する．</datacite:description>
          <datacite:description descriptionType="Other">Two interpreters have been written on Top of SWI-Prolog; the one interprets sorted expressions including lambda calculus as arguments of higher order predicates calls, ant the other interprets term rewriting rules. Not only the functional lambda terms but also relational lambda term are now availabe adapted to bi-directional data flow feature of Prolog. In other words, a class of relational lambda caculus is now in Prolog. The implementation obeys fairly general two views that evaluation is homomorphism between algebras of a same kind, and that that on the other hand term rewriting rules are paramodulation of logics with equality. Thus our implementation is based on theoretical clear justifications. As applictions, some interface codes to Emacs-lisp, Ajax, and Unix-shell are illustrated; the extended prolog controls in a declarative way emacs-lisp using S-expressions and Prolog terms depending on the direction, talks with Ajax in Prolog terms, and communicates Bash shell using abstract unix command syntax in Prolog terms. These heterogeneous communications are described in an elegant and unified way based on the two new interpeters.</datacite:description>
          <dc:publisher xml:lang="ja">情報処理学会</dc:publisher>
          <datacite:date dateType="Issued">2008-10-27</datacite:date>
          <dc:language>jpn</dc:language>
          <dc:type rdf:resource="http://purl.org/coar/resource_type/c_6501">journal article</dc:type>
          <jpcoar:identifier identifierType="URI">https://ipsj.ixsq.nii.ac.jp/records/16430</jpcoar:identifier>
          <jpcoar:sourceIdentifier identifierType="ISSN">1882-7802</jpcoar:sourceIdentifier>
          <jpcoar:sourceIdentifier identifierType="NCID">AA11464814</jpcoar:sourceIdentifier>
          <jpcoar:sourceTitle>情報処理学会論文誌プログラミング（PRO）</jpcoar:sourceTitle>
          <jpcoar:volume>1</jpcoar:volume>
          <jpcoar:issue>3</jpcoar:issue>
          <jpcoar:pageStart>36</jpcoar:pageStart>
          <jpcoar:pageEnd>36</jpcoar:pageEnd>
          <jpcoar:file>
            <jpcoar:URI>https://ipsj.ixsq.nii.ac.jp/record/16430/files/IPSJ-TPRO0103007.pdf</jpcoar:URI>
            <jpcoar:mimeType>application/pdf</jpcoar:mimeType>
            <jpcoar:extent>34.6 kB</jpcoar:extent>
            <datacite:date dateType="Available">2010-10-27</datacite:date>
          </jpcoar:file>
        </jpcoar:jpcoar>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
