けいじゅ@いしつかです.

In [ruby-dev :36472 ] the message: "[ruby-dev:36472] Re:
{Complex,Rational}::Unify ", on Sep/23 07:37(JST) Tadayoshi Funaba
writes:

>> mathn.rbはcomplex.rbなどと同一の作者が同時に(一体として)作成
>> したものだったので、そのような配慮が存在したのだと思います。
>
>作った当時は単に一体だっただけで、実装に問題があったわけではなかったと
>思います。しかし今は客観的に見て奇妙に見えますね。

実装に問題なかったというとそうでもないと思っていましたが, 取りあえずそ
うなっていた感じです.

現在 complexが組み込みになった以上今のようなものはよろしくないと私も思
います.

>この機能を無効にしようと思います。仮に後々この機能がどうしても必要になっ
>たとしても、公式のものにはなり得ないように思います。

まず, Unifyなしで動作するように, mathn側で対応させてください. それから,
Rational/Complex の方を変更していただけるとありがたいです. 

>この考えは春に拒否されて、mathn は mathn で頑張る、ということになったの
>ですが、あまり頑張れていないように見えます。mathn が目指したところは気
>に入っていますが、mathn 自体はあまりうまくいっていないので、将来的には、
>必要なら ruby 側になんらかの方法で取りこむなどして解消すべきだと思いま
>す。

というか, 近い将来

  int / int -> Rational

になるとすれば, その時当然, Rationalに関する正規化ははいることになると
思います. 

complexに関しては, その時点でCMathですかねぇ... 

現行(CMathなし)では,

  i*i => -1 

となり,

  sqrt(i * i) => i

にならなくなるので... もしくは, CMath相当の振る舞いが標準の振る舞いに
なるか...

そうすれば, mathnの役割はほとんど終わったことになると思います. 

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju / ishitsuka.com <<---