The Evolution of Lua [Lua]
"The Evolution of Lua" [1] という作者らによる Lua の一代記みたいなものを読んだ。
読み始めてみたら結構長かったけど、その中で興味深かったのは lexical scoping を導入するに至るまでの話で、私は以前 Tcl (今でも基本的に動的スコープの言語)に lexical scoping を導入するとしたらどんな形が一番自然だろうかと妄想したことがあって、Lua 3.1 で導入され(てその後もっと本格的な仕様に置き換わった)た upvalue のアイデアというのはそのとき思いついたものに近い。Tcler's Wiki を見ると pure-Tcl で lexical scoping を模倣しようとしている試みがいくつかあるけど、それらも基本的には自由変数の frozen copy を取っておくもので Lua 3.1 の upvalue に相当すると思う。
[1] http://www.tecgraf.puc-rio.br/~lhf/ftp/doc/hopl.pdf
コメント 0