まつもと ゆきひろです

In message "[ruby-math:00605] Re: int / int -> ?"
    on 01/08/25, 石塚圭樹 <keiju / ishitsuka.com> writes:

|RubyってC/FORTRANレベルでいいって満足されると困るんですが(^^;;; それは,
|ともかく、Rubyは数値クラスの拡張ができるので、固定になっているCとかと一
|緒に考えるのは無理があるのでは? 

「無理がある」とは思っていません。が、違う部分があるのは事実
でしょうね。

私は、CやFORTRANのモデルに慣れた人ですから、逆に変わってもら
うととまどうわけで、個人的にはここで満足したいです。David
Alan BlackのBehaviorとかを使ってくくってもらいたいくらい。

# あ、それは良いアイディアかも。RAAのbehaviorを見てみてくだ
# さい。

|固定であれば, その世界で幾ら変でもそう定義すればそれが仕様になって終わり
|になるわけですが、Rubyの場合は拡張ができるので、標準セットの中だけで定義
|できていても、拡張していくうちに破錠するようでは困るかなと。
|
|coerceとかはいくら使いにくいといっても、必要なことはどうにか実現可能です
|が、今回のは互換性を維持しつつ実現するのは実質不可能なんですよね...

おっしゃることが良く分かりません。「望む仕様がある(この場合
は int/int -> ratinal)」が、それは「互換性を維持しつつ実現す
るのは実質不可能である」、ということまでは同意しますが、だか
らどうしろと?

|手間って話になっていますが、誰かがやるって言ったら解決するという問題なん
|です?

まず第一に「私はRationalを実装しません」。これは確実です。私
はRationalについて十分に理解してませんし、バグなしに作る自信
も十分なパフォーマンスを出す自信もありません。Bignumでこりま
した。

第二に「だれか他の人にやってもらうのには不安があります」。つ
まり、将来のRationalはcoerceやPrecisionを含めてRubyの他の部
分全体との整合性をとって実現されるべき、かなり難しい問題です。
それができる人がいるのかどうか相当不安です。

そういえば、Precisionって使われてるのかなあ。

第三に、int/int -> rationalにすることによるモデルの変化の心
理的影響は無視できないと思ってます。つまり、今まで一応はCや
FORTRANのような「伝統的計算機言語の数値モデル」に従ってきた
のですが、それから離れることになるわけですよね。たとえば私は
old type(+数学苦手)なのでこのモデルには不安を感じます。

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