2024-03-28T22:06:43Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:000155192022-10-21T05:24:51Z00581:00859:00867
Lispにおける並列動作の記述と実現Programming and Implementation of a Multi - processing Lispjpn論文http://id.nii.ac.jp/1001/00015519/Journal Articlehttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=15519&item_no=1&attribute_id=1&file_no=1Copyright (c) 1987 by the Information Processing Society of Japanプログラム言語と処理系東京大学工学部計数工学科岩崎, 英哉Lispに並列性(マルチプロセス)を導入することは マルチプロセッサ計算機への対応 Lispを用いた応用プログラムの開発等の意味において重要である.本論文では 陽な(ユーザの指定可能な)並列性をLispに導入する立場にたち Lispにおける並列動作の記述および実現の一方法を示す.この方法は Utilispの拡張版mUtilispで採り入れている.提案する方法では 並列動作指定のプリミティブはforkがあるだけである.forkによってプロセス間に親子関係ができ 全プロセスは木構造を形成する.各プロセスでは 既存の環境(組み込み関数等)に加えて独自の環境を設定するが これを プロセスごとにシンボル空間を分割することを基本とし さらに 親プロセスから子プロセスへ環境を継承させることによって実現する.このような実現法により shallow bindingの利点を生かすと同時に プロセス間の予期せぬ干渉を避けている.プロセス間通信には 通信相手の指定が可能な メッセージ伝達による方法を提案するが その利点についても触れている.AN00116647情報処理学会論文誌2854654701987-05-151882-77642009-06-29