| パラダイム | マルチパラダイム:機能的、命令的、並行的、メタ |
|---|---|
| 家族 | リスプ |
| デザイン: | ロバート H. ハルステッド ジュニア |
| 開発者 | マサチューセッツ工科大学(MIT |
| 初登場 | 1980年 |
| タイピングの規律 | ダイナミック、潜在的、強力 |
| 範囲 | 語彙 |
| 実装言語 | インターリスプ |
| プラットフォーム | コンサートマルチプロセッサ |
| ライセンス | 独自 |
| 影響を受けた | |
| Lisp、Scheme | |
| 影響を受けた | |
| ギャンビット、インターリスプ- VAX | |
MultiLispは関数型 プログラミング言語であり、Lisp言語およびそのScheme方言であり、並列コンピューティング実行と共有メモリの構成要素で拡張されています。これらの拡張には副作用が伴い、MultiLisp は非決定的になります。並列プログラミング拡張に加えて、MultiLisp には珍しいガベージコレクションとタスクスケジューリングアルゴリズムもあります。Scheme と同様に、MultiLisp はシンボリックコンピューティングに最適化されています。一部の並列プログラミング言語とは異なり、MultiLisp には副作用を引き起こすための構成要素と明示的に並列性を導入するための構成要素が組み込まれています。
これは、1980年代初頭にロバート・H・ハルステッド・ジュニアによって、当時マサチューセッツ工科大学(MIT)で開発され、Interlispで実装されていた32プロセッサのコンサートマルチプロセッサで使用するために設計されました。これは、Scheme方言のGambit、[1]およびInterlisp - VAXの開発に影響を与えました。
PCALLと未来
MultiLispはPCALLマクロで並列処理を実現しており、
(PCALL Fun A B C ...)
は以下と同等である
(Fun A B C ...)
ただし、引数 A, B, C,などは明示的に並列評価が許可されています。これにより、通常の評価順序である左から右への順次評価を回避できます。また、futuresと呼ばれる並列プログラミング構造も使用しています。これは、 forkingとlazy evaluationを組み合わせたものです。この構造を使用すると、次のような式が
実行されます。
(cons (FUTURE A) (FUTURE B))
次のように記述できます。この記述では、式 A と B の評価が、A または B の値に関する正しい情報を必要とする操作が実行されるまで、相互にオーバーラップされるだけでなく、cons呼び出しの結果を使用する計算ともオーバーラップされます。
参照
参考文献
- ^ WikiSysop;ミカエルム;ブジュルシエ;セデンズ、ダン (2019-02-06)。 「ガンビット」。2019年4月21日に取得。
- Halstead, Robert H. Jr. (1985 年 10 月)。「MultiLisp: 同時記号計算言語」。ACM Transactions on Programming Languages and Systems。7 ( 4): 501– 538。doi : 10.1145/ 4472.4478。S2CID 1285424。
- Koomen, Johannes AGM (1980)。Interlisp仮想マシン: Multilisp としての設計と実装の研究(MSc)。ブリティッシュ コロンビア大学。
- Bates, Raymond L.、Dyer, David、Koomen, Johannes AGM (1982 年 8 月 15 ~ 18 日)。「VAX での Interlisp の実装」。LFP '82 1982 ACM シンポジウム LISP および関数型プログラミングの議事録。ACM シンポジウム LISP および関数型プログラミング。米国ペンシルバニア州 ピッツバーグ。pp. 81 ~ 87。
- Halstead, Robert H. Jr. (1984)。MultiLisp言語: マルチプロセッサ向け Lisp。第 5 世代コンピュータに関する会議。東京、日本。
- Martins, WS「関数型言語の並列実装」。関数型言語の並列実装に関する第 4 回国際ワークショップの議事録: 92。
- Skillicorn , David B.; Talia, Domenico (1998 年 6 月) 。「並列計算のためのモデルと言語」。ACM Computing Surveys。30 ( 2): 123– 169。doi : 10.1145/280277.280278。S2CID 9308854。
