langsmith:295
From: Shiro Kawai <shiro lava.net>
Date: Thu, 15 Sep 2005 02:38:30 -1000 (HST)
Subject: [langsmith:295] Re: なぜ代入演算子に限ってright associativeなのか?
ふーむ。まあ歴史的経緯は弾さんのblogにある通りなのでしょう
(アセンブリ言語だとdestinationが前に来る流儀と後に来る流儀と
両方ありますね)
心理的なものを考えた場合、束縛や定義の構文との兼ね合い、という
要素は無いでしょうか。束縛(初期化)と代入は意味的に異なる
操作ですが、実装上代入があれば束縛が(多くの場合)実現できて
しまうこともあり、LL言語では代入と束縛を区別していないものも
あるでしょう。で、気分的には束縛や定義ってのは名前をつける
操作なんで、名前が先に来て欲しい、というのがあるんじゃないでしょうか。
…とここまで書いて前田さんのメールを読みました。同じこと書いてますね。
逆に、束縛と代入を厳密に区別して、
束縛: 名前 ← 初期化式
代入: 式 → 変数
にしたら… それはそれでかなり混乱しそうな気がします。
ちなみに、Common Lisp の loop マクロには変数が後置される
代入構文が出てきます。
(loop for i from 0 below 10
sum (* i i) into square ;; square += i*i の意味
sum (* i i i) into cube ;; cube += i*i*i の意味
finally (return (+ square cube)))
--shiro
--
ML: langsmith quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml
293 2005-09-15 20:17 [dankogai dan.co.jp ] なぜ代入演算子に限ってright associativeなのか? 294 2005-09-15 21:01 ┣[maeda-langsmith atus] 296 2005-09-15 22:40 ┃┗[dankogai dan.co.jp ] 297 2005-09-16 09:47 ┃ ┣[takuo aya.or.jp ] 298 2005-09-16 12:06 ┃ ┃┗[maeda-langsmith atus] 299 2005-09-16 12:37 ┃ ┗[maeda-langsmith atus] -> 295 2005-09-15 21:38 ┗[shiro lava.net ]