In article <1036693249.585471.14821.nullmailer / picachu.netlab.jp>,
  matz / ruby-lang.org (Yukihiro Matsumoto) writes:

> |ここは私にとっても微妙です。プログラムをフラットにとらえるか木構造とと
> |らえるかの立場の違いなので、どちらの立場もあると思います。
> 
> 局面によって両方の立場を使い分けるということもね。

たしかにそうです。

私がこの件に関してフラットととらえないのは... やはりプログラムの意味は
抽象構文木の上で定義されるべきだと思っているからかなぁ。もちろん抽象構
文木の上で現在の規則を解釈することも可能ではあるのですが、迂遠なわりに
利点が見えないので好みじゃないですね。

> まあ、そうなんですけど。プラグマティストとしては結果として望
> ましくないものを導入するかどうかが重要な判断基準ですね。

まぁ、ひとつの仕様にもいろんな側面があって、それぞれの側面がどの程度望
まれているかは異なるわけで、仕様だけ眺めてもそのへんの基準はわかんない
ので理解するには議論するしかないわけですね。

> 私が
> 受け入れうる変更は(全体を2パスにして)「メソッドのどこかで代
> 入されている識別子はローカル変数にする」というものくらいです
> ねえ。

それはそれで私としては問題ありません。そのようにしても私にとっての不条
理さはなくなるので。then節と else節が対称になるので、

if xxx
  v = 1
else
  p v
end

と

if !xxx
  p v
else
  v = 1
end

のエラーの出かたが同じになりますし、

p v if v = (...)

も使えるようになります。

まぁ、私とまつもとさんが満足したからといって他の人が満足するとは限らな
いわけですが...
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)