<?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-04-18T11:20:19Z</responseDate>
  <request verb="GetRecord" metadataPrefix="jpcoar_1.0" identifier="oai:ipsj.ixsq.nii.ac.jp:00125657">https://ipsj.ixsq.nii.ac.jp/oai</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:ipsj.ixsq.nii.ac.jp:00125657</identifier>
        <datestamp>2025-01-21T02:03:32Z</datestamp>
        <setSpec>6504:8055:8062</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>Haskell言語上のClassおよびMonadを用いたデータベース操作インターフェイスの実装</dc:title>
          <dc:title xml:lang="en">Implementing database operations for the Haskell programming language using Monad and class mechanism</dc:title>
          <datacite:description descriptionType="Other">本研究は、純粋な関数型算譜言語(pure FP)とデータベース(DB)の操作体系との統合を目的としている。関数型データベース算譜言語(DBPL)の研究・開発が行われる一方で、pure FPは種々の参照透過な入出力機構を備えてきた。従って、Nikhilに指摘されたような、順次実行制御機構の欠落に起因する更新操作記述の困難さは解消可能である。関数型のDBPLではDBは記号束縛の環境で与えられ、更新は記号束縛の変更/生成、または記億域に束 縛された変数への代入により行われる。一方、pure FPでは実行時にトップレベルの束縛環境変更はできないため、なんらかの形で変数操作に対応する操作体系を持ち込む必要がある。本研究では、関数型算譜言語Haskell上に、モナド(Monad)による順次実行制御と、多重定義関数によるDB操作体系の導入を行った。多重定義はクラス(class)機構によって制御されているが、言語仕様の若干の変更が必要であったため、Glasgow Haskell Compilerに手を加える形で、これを実現した。簡単な操作例を図に示す。これは"university" DB中の学生データを更新する例であり、findStudentは名前で学生データを検索するためのユーザ定義関数である。以下、想定したデータモデルの簡単な説明に続いて、モナドの利用とDB操作体系の実現について順に説明をし、最後にまとめを行う。</datacite:description>
          <dc:publisher xml:lang="ja">情報処理学会</dc:publisher>
          <datacite:date dateType="Issued">1994-03-07</datacite:date>
          <dc:language>jpn</dc:language>
          <dc:type rdf:resource="http://purl.org/coar/resource_type/c_5794">conference paper</dc:type>
          <jpcoar:identifier identifierType="URI">https://ipsj.ixsq.nii.ac.jp/records/125657</jpcoar:identifier>
          <jpcoar:sourceIdentifier identifierType="NCID">AN00349328</jpcoar:sourceIdentifier>
          <jpcoar:sourceTitle>全国大会講演論文集</jpcoar:sourceTitle>
          <jpcoar:volume>第48回</jpcoar:volume>
          <jpcoar:issue>ソフトウェア</jpcoar:issue>
          <jpcoar:pageStart>261</jpcoar:pageStart>
          <jpcoar:pageEnd>262</jpcoar:pageEnd>
          <jpcoar:file>
            <jpcoar:URI>https://ipsj.ixsq.nii.ac.jp/record/125657/files/KJ00001332446.pdf</jpcoar:URI>
            <jpcoar:mimeType>application/pdf</jpcoar:mimeType>
            <jpcoar:extent>195.8 kB</jpcoar:extent>
            <datacite:date dateType="Available">1994-03-07</datacite:date>
          </jpcoar:file>
        </jpcoar:jpcoar>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
