うごがぁ
お休みは終わっちゃいましたね(´・ω・`)。
まぁ、気分的にはただの待機期間だったので、あまり、休んだという気がしてません。
とりあえず、次の更新は水底:RB です。
perl6 のブロック構文とかで、どんどん省略できて、ついにはただのブロックがファンクタになってしまったのを見て、言語としてデフォルトで何が output になるのかが決まっているのはやっぱりこういった一見したlambda表記に強いな、とか思いました。
perl は元々、サブルーチンに対する引数は @_ という配列バッファに保持され、それを抜き取って In にしており、最後に評価した式の結果を返すという言語規定がありました。だから、
sub func($data1, $data2) { return $data1 + $data2; }
という式が
{ $1 + $2; }
と省略されても、$1 ... $n が @_ の対応要素と決まっていれば、同等の意味を持つわけです。
ブロック評価の結果がオブジェクトであれば、ブロックそれ自体がオブジェクトである必要はなく、無名オブジェクトの増殖は起きずに済み、記法的にはブロック(匿名ファンクタ)がオブジェクトのように扱える。
うちが扱うおフランス製の高いCADでもモデルそれ自体がオブジェクトとして演算のインとアウトがデフォルトで伝搬することで、処理のシーケンシャルな扱いと構成の分離を実現していますが、うーん、まだまだ、いろいろと修行が足りないです。
夢はまだ遠い一日でした。