2015年3月2日

アンダースタンディングコンピュテーションの感想の続き3

表示的意味論が意味不明
全く意味がわからん
頭の切り替えが全然ついていかない

スモールステップ意味論の感想としては、まず思ったのがなんでこんな回りくどい方法をするんだと思った
再帰的に処理すれば、いちいち式の簡約とかどうでもよくて、特にwhileループなんてなんじゃこりゃの見本みたいでしたけど、解説を読んでよくわかった
スタックを消費しないで実行しようと思うとスモールステップ意味論が最適なんだなと

逆にビッグステップ意味論は馴染み深いと言うか、好みにあっていると思った
やっぱり再帰的に物事を処理するっていうのは直感的にわかりやすいんじゃないかな
しかし、このように理解できるのも関数型言語のOCaml、Haskellで再帰脳を鍛えた賜物かもしれないしね
関数型を訓練する以前だったらビッグステップ意味論の方が理解できなかったかもしれない
でも簡約と言われれば直感的に再帰で処理したくなるような気がするけど
ビッグステップ意味論を実装するときは、まあそうだろうなと納得して実装できた気がします

で、締めの部分で登場したパーサについてですけど、このあたりのパーサとは無縁のCommon Lispっていうのの素晴らしさ、演算子の優先順位的な話もちらっとありましたがこの辺りに対するLispの優位性って本当に素晴らしい
この辺りのことでどうこうしなくていいS式こそ人類の至宝と言ってもいいのではないでしょうか