{"updated":"2025-01-21T02:03:32.746425+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00125657","sets":["6504:8055:8062"]},"path":["8062"],"owner":"1","recid":"125657","title":["Haskell言語上のClassおよびMonadを用いたデータベース操作インターフェイスの実装"],"pubdate":{"attribute_name":"公開日","attribute_value":"1994-03-07"},"_buckets":{"deposit":"8ad6a434-5751-44d9-8749-6f9a63191d9a"},"_deposit":{"id":"125657","pid":{"type":"depid","value":"125657","revision_id":0},"owners":[1],"status":"published","created_by":1},"item_title":"Haskell言語上のClassおよびMonadを用いたデータベース操作インターフェイスの実装","author_link":[],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Haskell言語上のClassおよびMonadを用いたデータベース操作インターフェイスの実装"},{"subitem_title":"Implementing database operations for the Haskell programming language using Monad and class mechanism","subitem_title_language":"en"}]},"item_type_id":"22","publish_date":"1994-03-07","item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_22_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"お茶の水女子大学理学部"},{"subitem_text_value":"お茶の水女子大学理学部"},{"subitem_text_value":"お茶の水女子大学理学部"},{"subitem_text_value":"お茶の水女子大学理学部"},{"subitem_text_value":"お茶の水女子大学理学部"}]},"item_22_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Faculty of Science, Ochanomizu University","subitem_text_language":"en"},{"subitem_text_value":"Faculty of Science, Ochanomizu University","subitem_text_language":"en"},{"subitem_text_value":"Faculty of Science, Ochanomizu University","subitem_text_language":"en"},{"subitem_text_value":"Faculty of Science, Ochanomizu University","subitem_text_language":"en"},{"subitem_text_value":"Faculty of Science, Ochanomizu University","subitem_text_language":"en"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/125657/files/KJ00001332446.pdf"},"date":[{"dateType":"Available","dateValue":"1994-03-07"}],"format":"application/pdf","filename":"KJ00001332446.pdf","filesize":[{"value":"195.8 kB"}],"mimetype":"application/pdf","accessrole":"open_date","version_id":"124e4f18-972d-4b4e-a279-65b4c0ae14b0","displaytype":"detail","licensetype":"license_note"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_5794","resourcetype":"conference paper"}]},"item_22_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN00349328","subitem_source_identifier_type":"NCID"}]},"item_22_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"本研究は、純粋な関数型算譜言語(pure FP)とデータベース(DB)の操作体系との統合を目的としている。関数型データベース算譜言語(DBPL)の研究・開発が行われる一方で、pure FPは種々の参照透過な入出力機構を備えてきた。従って、Nikhilに指摘されたような、順次実行制御機構の欠落に起因する更新操作記述の困難さは解消可能である。関数型のDBPLではDBは記号束縛の環境で与えられ、更新は記号束縛の変更/生成、または記億域に束 縛された変数への代入により行われる。一方、pure FPでは実行時にトップレベルの束縛環境変更はできないため、なんらかの形で変数操作に対応する操作体系を持ち込む必要がある。本研究では、関数型算譜言語Haskell上に、モナド(Monad)による順次実行制御と、多重定義関数によるDB操作体系の導入を行った。多重定義はクラス(class)機構によって制御されているが、言語仕様の若干の変更が必要であったため、Glasgow Haskell Compilerに手を加える形で、これを実現した。簡単な操作例を図に示す。これは\"university\" DB中の学生データを更新する例であり、findStudentは名前で学生データを検索するためのユーザ定義関数である。以下、想定したデータモデルの簡単な説明に続いて、モナドの利用とDB操作体系の実現について順に説明をし、最後にまとめを行う。","subitem_description_type":"Other"}]},"item_22_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"262","bibliographic_titles":[{"bibliographic_title":"全国大会講演論文集"}],"bibliographicPageStart":"261","bibliographicIssueDates":{"bibliographicIssueDate":"1994-03-07","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"ソフトウェア","bibliographicVolumeNumber":"第48回"}]},"relation_version_is_last":true,"weko_creator_id":"1"},"created":"2025-01-19T00:05:24.926288+00:00","id":125657,"links":{}}