Scheme のクロージャとアクター理論のアクター


h003149b さん(?)の「SchemeとActor理論」
http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/actor/actor.html


こうして改めてアクターによるプログラミングを見ると、そこで要求されるメンタルモデルが Smalltalk-72 のそれとそっくりであることに驚かされますね。


ところで、オブジェクト指向の成り立ちに触れた文章では、よく、オブジェクト指向(この文脈では、おそらくケイのオブジェクト指向。つまり「メッセージング」)は、アクター理論から(後に)派生して生じたものである…というような記述を多く見かけるのですが、これもまたオブジェクト指向にまつわる数ある“常識のウソ”(id:m-hiyama さん、お気をつけて!w)のひとつで、実際は逆、つまりケイのメッセージングのアイデアが、ヒューイットのアクター理論につながった…というのがホントのところでしょう。


その裏付けとしてたとえば、アクター理論の提唱者であるカール・ヒューイットは「Actor Induction and Meta-evaluation (1973)」[PDF] で、こんなふうな謝辞を述べています。

Alan Kay whose FLEX and SMALLTALK machines have influenced our work. Alan emphasized the crucial importance of usng intentional definitions of data structures and of passing messages to them. This paper explores the consequences of generalizing the message mechanism of SMALLTALK and SIMULA-67; the port mechanism of Krutar, Balzer, and Mitchell; and the previous CALL statement of PLANNER-71 to a universal communication mechanism. Alan has been extremely helpful in discussions both of overall philosophy and technical details.


ここで、SMALLTALK マシンとは、Smalltalk-72 システムで動いている ALTO を指しているものと思われます。念のため。