Mozartのデータフロー変数すげぇ
コンピュータプログラミングの概念・技法・モデル (IT Architects' Archiveクラシックモダン・コンピューティング)
- 作者: セイフ・ハリディ,ピーター・ヴァン・ロイ,Peter Van-Roy,Seif Haridi,羽永洋
- 出版社/メーカー: 翔泳社
- 発売日: 2007/11/08
- メディア: 大型本
- 購入: 9人 クリック: 304回
- この商品を含むブログ (64件) を見る
こんなコードがあたりまえに書ける。
% Queueオブジェクトを作る Q = {New Queue} % キューにXを追加 {Q add(X)} % Xを10に束縛!! X = 10
これでキューに10を追加したことになる。
つまり変数宣言と変数束縛を別の場所で行なうことができる。あえてC言語で言うと、ポインタを渡しておいて、あとからそのポインタに代入する、というのに似た挙動をする。
ただし、
- 一度束縛したら、もう変更できない
- 未束縛の変数を使おうとすると、そこで停止して他のスレッドが変数を束縛するのを待つ
という違いがある。
で、これを使うと、どんなことができるのかはよく分からない。とりあえず、並行プログラミングが楽になる予感。