まつもと ゆきひろです

|私は a = 1, *[]; p a は 1 でいいと思うんだけどなあ。なぜなら
|
|   0個以上のオブジェクトをカンマで区切って並べたものをリストと
|   言います。最後のオブジェクトには * をつけることができます。
|
|を「リスト」の定義としますよね。そうすると [] の中にリストを
|置いた時と、= の右側にリストを置いたときは、違う評価(評価と
|言っていいかどうかわからないけど)がされる事になります。同じ
|にしといた方がシンプルではないかな。

それはPerl的です。^^;;;

文法構造としてのリストと配列の両方があるばっかりに混乱した人
は大勢いるはずです(私も経験があります)。なにもその轍をまた踏
まなくても。

それに「同じにしといた方がシンプルではないかな」というのは、
結局(原さんがあきらめたはずの)田中案につながるのでは。

|a = 1,2 ではなくて a = [1,2] が得られると考えては?どちらの方式
|でも他との矛盾は無いようですが。

矛盾はないのかもしれませんが、原さんの希望だと

 a = r1, *r2

で r2 == [] の場合は

 a = [1,2]

で r2 == [3] の場合

 a = [[1,2],3]

になるわけですよね。私の感覚では式の列の末尾についている値に
よって、式の列全体に影響が及ぶのはかなり抵抗があります。よっ
て、現状(1.7)の

 r1 = [1,2]
 r2 = []
 a = r1, *r2  # [[1,2]]

 r2 = [3]
 a = r1, *r2 # [[1,2],3]

の方が望ましいと思うわけです。

逆に

 a = *r

の場合、そもそも*がついているのが式全体ですから、抵抗は薄い
です。

                                まつもと ゆきひろ /:|)