On 2003-07-07 at 13:40+0200 Jerzy Karczmarczuk wrote: > [...] I believe (still naďvely??) that those socio-psycho-pragmatisms > which played some role in the definition of the language should > be better tuned. If I were to write > > pi = 3.1415926536 :: Rational > > I suppose that I would like to see rather 355/113 or something close, > than 3926990817/1250000000 or similar.
If it's a _Rational_, surely you want it to be exactly the same as you get for 31415926536%10000000000? > GHCI doesn't make me happier than Hugs: > 221069929751607/70368744177664. That doesn't happen for me: Prelude> :m Ratio Prelude Ratio> 31415926536%10000000000 3926990817 % 1250000000 Prelude Ratio> 3.1415926536::Rational 3926990817 % 1250000000 Prelude Ratio> What did you do to get it? > Thus, perhaps one day we might think about parametrizing > the 'conversion' of *explicit* decimal numbers, and -- as > some other language permit -- make it possible and > practical to use any other base different from 10. What do > you think? There might be a use for that, but one can already write 0x55%2^32 so I'm not sure that there would be much call for it, given what I say below > Such parametrization (perhaps with some global default) > would also help the user who permits himself to write x = > 1.875987 :: Rational to assess the error introduced by the > representation conversion. I think that <decimal number> :: Rational ought not to introduce any error at all! As to exact v inexact numbers, in a sense we already have that distinction. Integer and Rational are (in correct implementations!) exact, Int, Float and Double are inexact. One could express my objection to the design as: relegate all inexactitudes to libraries. Cheers, Jón -- Jón Fairbairn [EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe