{"created":"2025-01-19T01:19:06.250654+00:00","updated":"2025-01-19T15:02:48.500233+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00218756","sets":["934:935:10774:10957"]},"path":["10957"],"owner":"44499","recid":"218756","title":["Verifying Session-Typed Concurrent Programs Using Typed PPX in OCaml"],"pubdate":{"attribute_name":"公開日","attribute_value":"2022-07-04"},"_buckets":{"deposit":"07f050d2-d1e6-4957-9311-dc666283cbf3"},"_deposit":{"id":"218756","pid":{"type":"depid","value":"218756","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"Verifying Session-Typed Concurrent Programs Using Typed PPX in OCaml","author_link":["569580","569579","569584","569583","569581","569582"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Verifying Session-Typed Concurrent Programs Using Typed PPX in OCaml"},{"subitem_title":"Verifying Session-Typed Concurrent Programs Using Typed PPX in OCaml","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[発表概要, Unrefereed Presentatin Abstract] ","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2022-07-04","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"Gifu University"},{"subitem_text_value":"Royal Holloway, University of London"},{"subitem_text_value":"Brunel University London"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Gifu University","subitem_text_language":"en"},{"subitem_text_value":"Royal Holloway, University of London","subitem_text_language":"en"},{"subitem_text_value":"Brunel University London","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/218756/files/IPSJ-TPRO1503004.pdf","label":"IPSJ-TPRO1503004.pdf"},"date":[{"dateType":"Available","dateValue":"2024-07-04"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO1503004.pdf","filesize":[{"value":"26.9 kB"}],"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":"0042ea31-fde9-4887-b2ac-a331e3a8a207","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2022 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Keigo, Imai"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Julien, Lange"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Rumyana, Neykova"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Keigo, Imai","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Julien, Lange","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Rumyana, Neykova","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":"This presentation introduces the design and implementation of kmclib: an OCaml library that supports the development of correct message-passing programs. The development workflow in kmclib utilises type inference and PreProcessor eXtension (PPX) in OCaml. The kmclib primitives allow the vanilla OCaml typechecker to infer the communication structure of a program. The preprocessor for kmclib is typed: it exploits OCaml's compilerlib to extract session types and verify their compatibility (k-MC). Well-typed programs, written with kmclib, do not lead to communication errors and cannot get stuck.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"This presentation introduces the design and implementation of kmclib: an OCaml library that supports the development of correct message-passing programs. The development workflow in kmclib utilises type inference and PreProcessor eXtension (PPX) in OCaml. The kmclib primitives allow the vanilla OCaml typechecker to infer the communication structure of a program. The preprocessor for kmclib is typed: it exploits OCaml's compilerlib to extract session types and verify their compatibility (k-MC). Well-typed programs, written with kmclib, do not lead to communication errors and cannot get stuck.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"2","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"2","bibliographicIssueDates":{"bibliographicIssueDate":"2022-07-04","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"3","bibliographicVolumeNumber":"15"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"id":218756,"links":{}}