{"updated":"2025-01-19T22:04:25.061276+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00198203","sets":["934:935:9619:9824"]},"path":["9824"],"owner":"44499","recid":"198203","title":["A Shell-like Model for General Purpose Programming"],"pubdate":{"attribute_name":"公開日","attribute_value":"2019-07-17"},"_buckets":{"deposit":"18b5f2b3-5905-4cf8-a09f-7ac36f023a59"},"_deposit":{"id":"198203","pid":{"type":"depid","value":"198203","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"A Shell-like Model for General Purpose Programming","author_link":["476951","476953","476949","476952","476954","476950"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"A Shell-like Model for General Purpose Programming"},{"subitem_title":"A Shell-like Model for General Purpose Programming","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[発表概要,Unrefereed Presentation Abstract] ","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2019-07-17","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"Department of Mathematical and Computing Science, Tokyo Institute of Technology"},{"subitem_text_value":"Department of Mathematical and Computing Science, Tokyo Institute of Technology"},{"subitem_text_value":"Department of Mathematical and Computing Science, Tokyo Institute of Technology/Kungliga Tekniska Högskolan, KTH Royal Institute of Technology"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Department of Mathematical and Computing Science, Tokyo Institute of Technology","subitem_text_language":"en"},{"subitem_text_value":"Department of Mathematical and Computing Science, Tokyo Institute of Technology","subitem_text_language":"en"},{"subitem_text_value":"Department of Mathematical and Computing Science, Tokyo Institute of Technology / Kungliga Tekniska Högskolan, KTH Royal Institute of Technology","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/198203/files/IPSJ-TPRO1203008.pdf","label":"IPSJ-TPRO1203008.pdf"},"date":[{"dateType":"Available","dateValue":"2021-07-17"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO1203008.pdf","filesize":[{"value":"30.3 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":"5124b887-de1f-4af1-a064-7ff80864cad1","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2019 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Jeanine, Miller Adkisson"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Hidehiko, Masuhara"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Johannes, Westlund"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Jeanine, Miller Adkisson","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Hidehiko, Masuhara","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Johannes, Westlund","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":"Shell languages such as bash are designed to integrate with an OS, which mainly involves managing processes with implicit input and output streams. They also attempt to do this in a compact way that could be reasonably typed on a command-line interface. However, existing shell languages are not sufficient to serve as general-purpose languages - values are not observable except in raw streams of bytes, and they lack modern language features such as lexical scope and higher-order functions. By way of a new programming language, Magritte, we propose a general-purpose programming language with semantics similar to bash. In this presentation, we discuss the early design of such a system, in which the primary unit of composition, like bash, is processes with asynchronous inputs and outputs, which can be read from or written to at any time, and which can be chained together via a pipe operator. We also explore concurrency semantics for such a language. We explore the implementation and design challenges that come with such a model, and also show that this model is able to easily create and compose concurrent algorithms.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Shell languages such as bash are designed to integrate with an OS, which mainly involves managing processes with implicit input and output streams. They also attempt to do this in a compact way that could be reasonably typed on a command-line interface. However, existing shell languages are not sufficient to serve as general-purpose languages - values are not observable except in raw streams of bytes, and they lack modern language features such as lexical scope and higher-order functions. By way of a new programming language, Magritte, we propose a general-purpose programming language with semantics similar to bash. In this presentation, we discuss the early design of such a system, in which the primary unit of composition, like bash, is processes with asynchronous inputs and outputs, which can be read from or written to at any time, and which can be chained together via a pipe operator. We also explore concurrency semantics for such a language. We explore the implementation and design challenges that come with such a model, and also show that this model is able to easily create and compose concurrent algorithms.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"12","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"12","bibliographicIssueDates":{"bibliographicIssueDate":"2019-07-17","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"3","bibliographicVolumeNumber":"12"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"created":"2025-01-19T01:02:31.856271+00:00","id":198203,"links":{}}