{"created":"2021-03-01T06:40:00.642899+00:00","id":34699,"links":{},"metadata":{"_buckets":{"deposit":"3d4bd349-1ef0-44d3-94e2-5b94e98ad8e8"},"_deposit":{"id":"34699","owners":[],"pid":{"revision_id":0,"type":"depid","value":"34699"},"status":"published"},"_oai":{"id":"oai:teapot.lib.ocha.ac.jp:00034699","sets":["347:359:667"]},"item_11_biblio_info_8":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicIssueDates":{"bibliographicIssueDate":"1998-03-12","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"2","bibliographicPageEnd":"117","bibliographicPageStart":"81","bibliographicVolumeNumber":"48","bibliographic_titles":[{"bibliographic_title":"お茶の水女子大學自然科學報告"}]}]},"item_11_description_17":{"attribute_name":"フォーマット","attribute_value_mlt":[{"subitem_description":"application/pdf","subitem_description_type":"Other"}]},"item_11_description_46":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"subitem_description":"紀要論文","subitem_description_type":"Other"}]},"item_11_description_7":{"attribute_name":"内容記述","attribute_value_mlt":[{"subitem_description":"This paper proposes a methodology to manipulate the database state in a non-strict, purely functional programming language. The primary target is Haskell, which is the standard for such programming languages and has been known for its use of a state-transformer monad to handle input/output operations and the type class mechanism to incorporate ad hoc polymorphism. The main contribution of this paper is to address and propose solutions to the key issues of making the lanaguage persistent. While the state-transformer monad naturally structures state-based operations, it complicates programming tasks because of the explicit single-threadedness. To lessen this inherent burden of the programming tasks, the proposed method makes use of explicit versioning of the database state, which can be retrieved lazily, even though the primary database state is updated destructively. The ability of multiple state manipulation naturally extends to view maintenance, exception handling, and support for the \"what-if\" semantics of execution. In addition to this feature, persistent roots are identified by their types instead of by their str\\\ning- or variable-names. This allows every expression, even including root manipulation, to be typed statically. The supported programming environment also provides programmers with \"hooks\" to customize primitive operations, and can be generalized to support transaction-boundary rule firing.","subitem_description_type":"Other"}]},"item_11_full_name_2":{"attribute_name":"著者(ヨミ)","attribute_value_mlt":[{"nameIdentifiers":[{"nameIdentifier":"70630","nameIdentifierScheme":"WEKO"}],"names":[{"name":"イチカワ, ヨシヒコ"}]}]},"item_11_publisher_36":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"お茶の水女子大学"}]},"item_11_source_id_11":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN00033958","subitem_source_identifier_type":"NCID"}]},"item_11_source_id_9":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"00298190","subitem_source_identifier_type":"ISSN"}]},"item_11_subject_20":{"attribute_name":"日本十進分類法","attribute_value_mlt":[{"subitem_subject":"400","subitem_subject_scheme":"NDC"}]},"item_11_text_18":{"attribute_name":"形態","attribute_value_mlt":[{"subitem_text_value":"3202807 bytes"}]},"item_11_text_47":{"attribute_name":"資源タイプ・ローカル","attribute_value_mlt":[{"subitem_text_value":"紀要論文"}]},"item_11_text_48":{"attribute_name":"資源タイプ・NII","attribute_value_mlt":[{"subitem_text_value":"Departmental Bulletin Paper"}]},"item_11_text_49":{"attribute_name":"資源タイプ・DCMI","attribute_value_mlt":[{"subitem_text_value":"text"}]},"item_11_text_50":{"attribute_name":"資源タイプ・ローカル表示コード","attribute_value_mlt":[{"subitem_text_value":"03"}]},"item_11_text_79":{"attribute_name":"所属","attribute_value_mlt":[{"subitem_text_value":"Department of Information Sciences, Ochanomizu University"}]},"item_creator":{"attribute_name":"著者","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Ichikawa, Yoshihiko"}],"nameIdentifiers":[{"nameIdentifier":"70629","nameIdentifierScheme":"WEKO"}]}]},"item_files":{"attribute_name":"ファイル情報","attribute_type":"file","attribute_value_mlt":[{"accessrole":"open_date","date":[{"dateType":"Available","dateValue":"2018-04-19"}],"displaytype":"detail","filename":"KJ00004470880.pdf","filesize":[{"value":"3.2 MB"}],"format":"application/pdf","licensetype":"license_note","mimetype":"application/pdf","url":{"label":"KJ00004470880.pdf","url":"https://teapot.lib.ocha.ac.jp/record/34699/files/KJ00004470880.pdf"},"version_id":"a5d0d268-5495-4553-b671-81cf11e94c54"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"eng"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourcetype":"departmental bulletin paper","resourceuri":"http://purl.org/coar/resource_type/c_6501"}]},"item_title":"Realizing State-Based Database Concepts in a Non-Strict, Statically Typed, Purely Functional Persistent Programming Language","item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Realizing State-Based Database Concepts in a Non-Strict, Statically Typed, Purely Functional Persistent Programming Language"}]},"item_type_id":"11","owner":"1","path":["667"],"pubdate":{"attribute_name":"公開日","attribute_value":"2007-04-23"},"publish_date":"2007-04-23","publish_status":"0","recid":"34699","relation_version_is_last":true,"title":["Realizing State-Based Database Concepts in a Non-Strict, Statically Typed, Purely Functional Persistent Programming Language"],"weko_creator_id":"1","weko_shared_id":null},"updated":"2022-12-12T05:39:10.364508+00:00"}