プロセス志向言語脳
Erlangの変数束縛の話が盛り上がっていますが、脳がπ計算(pi-calculus)ないし純粋並行型言語(?)に犯されていると、関数型言語(たとえばOCaml)でいうところの
let x = 式1 in 式2
を
new chan in
(send 式1 to chan
| receive x from chan in 式2)
みたく書いたり…しないか、さすがに(笑)。
P.S. このプログラム↑は架空の言語です。一応。
P.P.S. 調子に乗って関数定義
f(x) = 式
もプロセス化すると
P = receive [x,r] from f in (P | send 式 to r)
みたくなります。呼び出すほう
let x = f(式1) in 式2
は
new r in
(send [式1,r] to f |
receive x from r in 式2)
みたいな。ってこんな書き方じゃ誰もわからないじゃん!(自己ツッコミ)