gauche.night

http://practical-scheme.net/wiliki/wiliki.cgi?gauche.night

個人的理由(小さい子供がいるのであまり外泊できない)で行けなかったのですが、楽しかったみたいですね。;_; 経緯はわかりませんが、おそらくPPL2008で川合さんを招聘した結果として、こういうイベントもできたみたいでいろいろな手続きは多少大変になりましたが:-)うれしい限りです。

というわけでログしか見ていないのですが、R6RSの操作的意味論(operational semantics)より、R5RS以前の表示的意味論(denotational semantics)のほうが良かった(?)というが面白いです。仮想機械やインタプリタベースではない、Plotkinのstructuredstructural operational semantics(1981年)が登場して以来、通常は操作的意味論も表示的意味論と同様に「きれい」になったとみなされている(ことになっている)と私は思っていたので…。TAPLの3.4 Semantics Stylesの最終段落や、萩谷先生のノートの「個人的な思い」(一番最後)などには、陽にそう書いてあります。

ちなみにWinskelの古典的教科書でも、再帰関数型言語より先に、ループのある命令型言語に対する表示的意味論が解説されているぐらいなので、表示的意味論だからループを扱えない(あるいは扱わない)ということは(私の知らない深い訳がなければ)ないと思います。同様に、single name spaceやfirst-class continuationと表示的意味論も、普通に考えれば直交していると思います(single name spaceでない、あるいはfirst-class continuationのない表示的意味論も容易に定義できるので)。あと、表示的意味論とは無関係ですが、tail recursionとiterationが異なると主張している部分の例は、単にdo文における変数束縛/代入の違いで、末尾再帰と繰り返しの比較とは関係のない話だと思います。

ということで、表示的意味論に関する部分の主張は、私の知る限り、理論的には正しくありません。それ以外の部分(「人間にとってわかりやすい」云々とか)は他の方におまかせします。:-)