{"links":{},"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00233816","sets":["934:935:11486:11596"]},"path":["11596"],"owner":"44499","recid":"233816","title":["Designing Restartable Exception Handling Mechanisms for Implementing Efficient and Safe High-level Languages"],"pubdate":{"attribute_name":"公開日","attribute_value":"2024-04-22"},"_buckets":{"deposit":"00b27810-f31f-4d07-a03f-99f09ae0b625"},"_deposit":{"id":"233816","pid":{"type":"depid","value":"233816","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"Designing Restartable Exception Handling Mechanisms for Implementing Efficient and Safe High-level Languages","author_link":["635971","635974","635970","635973","635969","635972"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Designing Restartable Exception Handling Mechanisms for Implementing Efficient and Safe High-level Languages"},{"subitem_title":"Designing Restartable Exception Handling Mechanisms for Implementing Efficient and Safe High-level Languages","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[通常論文] execution stack, closure, exception handling, language design","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2024-04-22","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"Department of Computer Science and Networks, Kyushu Institute of Technology"},{"subitem_text_value":"Department of Computer Science and Networks, Kyushu Institute of Technology"},{"subitem_text_value":"Department of Information and Computer Science, Faculty of Engineering, Kyoto Tachibana University"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Department of Computer Science and Networks, Kyushu Institute of Technology","subitem_text_language":"en"},{"subitem_text_value":"Department of Computer Science and Networks, Kyushu Institute of Technology","subitem_text_language":"en"},{"subitem_text_value":"Department of Information and Computer Science, Faculty of Engineering, Kyoto Tachibana University","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"eng"}]},"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/233816/files/IPSJ-TPRO1702003.pdf","label":"IPSJ-TPRO1702003.pdf"},"date":[{"dateType":"Available","dateValue":"2026-04-22"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO1702003.pdf","filesize":[{"value":"2.4 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"0","billingrole":"5"},{"tax":["include_tax"],"price":"0","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"829327cf-b1a7-431b-bbcf-7e04eaf673aa","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2024 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Masahiro, Yasugi"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Kento, Emoto"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Tasuku, Hiraishi"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Masahiro, Yasugi","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Kento, Emoto","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Tasuku, Hiraishi","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA11464814","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_3_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7802","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"Mechanisms for legitimate execution stack access (LESA for short) provide legitimate access to values of callers' variables sleeping deeply in a C-like execution stack. LESA mechanisms enable efficient implementations of high-level services that require dynamic rearrangement of running software, such as garbage collection, first-class continuations, and dynamic load balancing, for implementing efficient and safe high-level languages. As a nested-function-style LESA mechanism, we can create a closure from a nested function definition and indirectly call the nested function via a pointer to the closure, achieving access to values of the variables captured in the closure-creation-time environment. In this study, we propose restartable exception handling mechanisms as new LESA mechanisms, which provide callable exception handlers without non-local exiting; handlers are found on the basis of dynamic scope without requiring pointers. In addition, the LESA mechanisms can be used at multiple levels; e.g., garbage collection can be started during the creation of a first-class continuation. In this paper, we design core languages that feature leveled restartable exception handling mechanisms and discuss their properties and implementations.\n------------------------------\nThis is a preprint of an article intended for publication Journal of\nInformation Processing(JIP). This preprint should not be cited. This\narticle should be cited as: Journal of Information Processing Vol.32(2024) (online)\n------------------------------","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Mechanisms for legitimate execution stack access (LESA for short) provide legitimate access to values of callers' variables sleeping deeply in a C-like execution stack. LESA mechanisms enable efficient implementations of high-level services that require dynamic rearrangement of running software, such as garbage collection, first-class continuations, and dynamic load balancing, for implementing efficient and safe high-level languages. As a nested-function-style LESA mechanism, we can create a closure from a nested function definition and indirectly call the nested function via a pointer to the closure, achieving access to values of the variables captured in the closure-creation-time environment. In this study, we propose restartable exception handling mechanisms as new LESA mechanisms, which provide callable exception handlers without non-local exiting; handlers are found on the basis of dynamic scope without requiring pointers. In addition, the LESA mechanisms can be used at multiple levels; e.g., garbage collection can be started during the creation of a first-class continuation. In this paper, we design core languages that feature leveled restartable exception handling mechanisms and discuss their properties and implementations.\n------------------------------\nThis is a preprint of an article intended for publication Journal of\nInformation Processing(JIP). This preprint should not be cited. This\narticle should be cited as: Journal of Information Processing Vol.32(2024) (online)\n------------------------------","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicIssueDates":{"bibliographicIssueDate":"2024-04-22","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"2","bibliographicVolumeNumber":"17"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"created":"2025-01-19T01:35:24.829713+00:00","updated":"2025-01-19T09:58:30.132932+00:00","id":233816}