
On Wednesday 02 June 2010 00:55:08, Maciej Piechotka wrote:
On Tue, 2010-06-01 at 15:29 -0700, Evan Laforge wrote:
[1] By co I mean Ruby, Python, Perl and others. There are no so many languages that do recognize the difference.
% python -Q new Python 2.4.6 (#1, Aug 3 2009, 17:05:16) [GCC 4.0.1 (Apple Inc. build 5490)] on darwin Type "help", "copyright", "credits" or "license" for more information. 10 / 3 #-> 3.3333333333333335 10 // 3 #-> 3
The python guys decided that int/int -> int was a mistake, but because it's an incompatible change, the removal process has been long (hence the -Q flag, or a from __future__ import). In fact, I think they gave up on making it the default before python 3.
I appreciate that haskell has differentiated from the beginning.
Well - i tried to write some package dealing with distributions etc.
If you have something like that:
instance ... => Distribution (Linear a) a where rand (Linear f s) g = let (gf, gt) = genRange g (v, g') = next g in (g', f + (fromIntegral v * s) / fromIntegral (gt - gf))
(I haven't check it but IMHO it is right implementation)
Now I have following options:
- Implement per Int/Int8/... - Implement IntegerLinear and FractionalLinear separatly
- use realToFrac instead of fromIntegral (using the logfloat package is probably not a bad idea then)
Neither of choices are IMHO not ideal.
Methinks that is not what you wanted to say ;)
Regards