[前][次][番号順一覧][スレッド一覧][生データ]

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      ]