{"updated":"2025-01-19T13:44:06.497681+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00222480","sets":["6164:6805:6807:11061"]},"path":["11061"],"owner":"44499","recid":"222480","title":["Rubyに対するGradual typingの導入に向けて"],"pubdate":{"attribute_name":"公開日","attribute_value":"2017-01-06"},"_buckets":{"deposit":"6da381e6-04d6-4f1a-921f-b564141cf0c1"},"_deposit":{"id":"222480","pid":{"type":"depid","value":"222480","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"Rubyに対するGradual typingの導入に向けて","author_link":["583822"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Rubyに対するGradual typingの導入に向けて"},{"subitem_title":"Toward the introduction of Gradual typing for Ruby","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"Ruby,Type system,Gradual typing","subitem_subject_scheme":"Other"}]},"item_type_id":"29","publish_date":"2017-01-06","item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_29_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"電気通信大学;;電気通信大学;;電気通信大学"}]},"item_29_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"The University of Electro-Communications;;The University of Electro-Communications;;The University of Electro-Communications","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/222480/files/IPSJ-WPRO2017022.pdf","label":"IPSJ-WPRO2017022.pdf"},"date":[{"dateType":"Available","dateValue":"2022-11-17"}],"format":"application/pdf","filename":"IPSJ-WPRO2017022.pdf","filesize":[{"value":"409.8 kB"}],"mimetype":"application/pdf","accessrole":"open_date","version_id":"682b3bb9-32e3-43c4-b668-56093e33cf8b","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2017 by the Information Processing Society of Japan"}]},"item_29_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"丹治, 将貴  中野 圭介  岩崎 英哉","creatorNameLang":"en"},{"creatorName":"Masaki, Tanji  Keisuke Nakano  Hideya Iwasaki","creatorNameLang":"ja-Kana"}],"nameIdentifiers":[{}]}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_5794","resourcetype":"conference paper"}]},"item_29_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"プログラミング言語Rubyは,広く使用されている動的型付け言語である.Rubyは実行時に型チェックを行うため,プログラムを実行し型エラーを含む部分に実行が及ばなければ型エラーは報告されない.このため,プログラム中に型エラーによるバグが潜在的に残り,バグの発見が遅れたり,バグを見逃したりする要因となっている.このような動的型付けの欠点を補う方法としてGradual typingが提案されている.Gradual typingとは,型注釈の有無により型付けの手法が異なるような型システムである.型注釈がある部分については静的に型付けをし,実行前に型チェックを行う.型注釈がない部分については動的型として型付けをし,実行時に型チェックを行う.本研究の目的は,Rubyの動的型付けによる柔軟性を残しつつ,プログラムの型エラーによるバグの発見を容易にすることである.その方針として,RubyにGradual typingを導入することで,静的型エラーの検出と,Rubyの柔軟性を両立させることを目指す.本発表では,Gradual typingに基づく動的型と型注釈の構文を加えたRubyのサブセットを考え,そのサブセットについて型付け規則を与える.さらにその正当性を示し,実装に向けての基本的な考え方を示す.","subitem_description_type":"Other"}]},"item_29_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"164","bibliographic_titles":[{}],"bibliographicPageStart":"151","bibliographicVolumeNumber":"2017"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"created":"2025-01-19T01:22:26.046386+00:00","id":222480,"links":{}}