原です。

In message [ruby-list:19409]
|ごとけんです

|>  (x + y).size = x.size + y.size
|>
|>を成り立たせる、つまり見た目準同型になるのできれいじゃない?
|
|うーん、sizeみたいな粗い量を持って来られても…。主観的には

痛い所をつかれたなあ。でも図を書いたりしてまず視覚的に訴えるのは size でしょ
う?

|  (a * b).reverse == b.reverse * a.reverse
|
|という可換図式(?)の方が構造をあらわしててきれいに感じますね。
|これが今は

reverse などという特殊なオペレータを持ってこられてもなあ。:-)


In message [ruby-list:19414]

|荻野です。

|>  (x + y).size = x.size + y.size
|>
|>を成り立たせる、つまり見た目準同型になるのできれいじゃない?
|
|うーむ、やっぱりこれは違和感出てきました。sizeって計算機科学的には
|普通 log を取りますよね。Rubyでも整数ならbyte数を返しますし。
|それをふまえると、
|
|  (x * y).size = x.size + y.size
|  (x + y).size = max(x.size, y.size)
|
|の方が準同形としては自然なんじゃないかと思います。でも 

またまた痛い所をつかれてしまった。しかしまあ、log を取りゃ * も + も同じ
だということで議論は丸く収まりそうですね。

#でもないか。(^^;