{"updated":"2025-01-22T16:55:56.790629+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00030758","sets":["1164:2386:2444:2450"]},"path":["2450"],"owner":"1","recid":"30758","title":["Futures and Multiple Values in Parallel Common Lisp"],"pubdate":{"attribute_name":"公開日","attribute_value":"1991-06-21"},"_buckets":{"deposit":"559c7d19-4917-4312-8120-74dd27746b44"},"_deposit":{"id":"30758","pid":{"type":"depid","value":"30758","revision_id":0},"owners":[1],"status":"published","created_by":1},"item_title":"Futures and Multiple Values in Parallel Common Lisp","author_link":["0","0"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Futures and Multiple Values in Parallel Common Lisp"},{"subitem_title":"Futures and Multiple Values in Parallel Common Lisp","subitem_title_language":"en"}]},"item_type_id":"4","publish_date":"1991-06-21","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"日本アイ・ビー・エム(株)東京基礎研究所"},{"subitem_text_value":"日本アイ・ビー・エム(株)東京基礎研究所"}]},"item_4_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"IBM Research, Tokyo Research Laboratory","subitem_text_language":"en"},{"subitem_text_value":"IBM Research, Tokyo Research Laboratory","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"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/30758/files/IPSJ-PRO91060004.pdf"},"date":[{"dateType":"Available","dateValue":"1993-06-21"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-PRO91060004.pdf","filesize":[{"value":"1.4 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"616df3d6-e60a-412a-bd99-e7bf024c151a","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 1991 by the Information Processing Society of Japan"}]},"item_4_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"田中, 朋之"},{"creatorName":"渦原, 茂"}],"nameIdentifiers":[{}]}]},"item_4_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Tanaka, Tomoyuki","creatorNameLang":"en"},{"creatorName":"Uzuhara, Shigeru","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_4_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN10485570","subitem_source_identifier_type":"NCID"}]},"item_4_textarea_12":{"attribute_name":"Notice","attribute_value_mlt":[{"subitem_textarea_value":"SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc."}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_18gh","resourcetype":"technical report"}]},"item_4_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"多くの共有メモリ型の並列Lispでは並列性の記述にfuture式を用いている。本稿ではCommon Lispの多値機能にfutureを導入した場合の問題について考える。futureと多値機能を共存させるためには1つのfutureオブジェクトに複数の値を格納できるようにする必要がある。ところがそのままこの方法を用いると、プログラムにfutureを挿入した場合としなかった場合とで返す値の数が異なってしまう場合があり、Common Lispで定義される多値の意味を変えてしまう。この問題を解決するためにmv?context法とmv?pフラグ法の2つの方法を提案する。この2つの方法はマルチプロセッサ・ワークステーションTOP?1上の並列Lisp、TOP?1 Common Lispにおいて実現した。","subitem_description_type":"Other"}]},"item_4_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"The future construct is used in many shared-memory parallel Lisp systems to express concurrency. We consider the impact of introducing the future construct to the multiple value facility of Common Lisp. A natural way to accommodate this problem is by modifying the implementation of futures so that one future object returns (or resolves to) multiple values instead of one. We first show that how such a straightforward modification fails to maintain the crucial characteristic of futures, namely that inserting futures in a functional program does not alter the result of the computation. To overcome this problem, we present two methods which we call the mv-context method and the mv-p flag method. Both of these methods have been tested in TOP-1 Common Lisp, an implementation of a parallel Common Lisp on the TOP-l multiprocessor workstation. To our knowledge, this problem has never been analyzed nor solved in an implementation of parallel Lisp.","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"10","bibliographic_titles":[{"bibliographic_title":"情報処理学会研究報告プログラミング(PRO)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"1991-06-21","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"50(1991-PRO-060)","bibliographicVolumeNumber":"1991"}]},"relation_version_is_last":true,"weko_creator_id":"1"},"created":"2025-01-18T23:00:16.328622+00:00","id":30758,"links":{}}