Haskell Report (again)
Simon Peyton-Jones
simonpj@microsoft.com
Fri, 20 Jul 2001 08:35:13 -0700
Dylan (sorry for the wrong name)
| (a) Where's the definition of mk0? (It was in the text you deleted.)
Ah, it should go back.
| (b) What is the code supposed to do? The code you posted always
| prints a decimal point; I imagine this is intended? Can this be
| documented?
Sigh. The numeric library is entirely inadequately documented.
I suppose that now you have forced me to face up to this fact I shall
have to write some (brief) documentation for at least the exported
functions.
| (c) I don't think the case e=3D0 is right; you miss the initial "0".
True. The e>=3D0 should be e>0, I think.
| (d) "floatToDigits" seems to return an exponent that is off by 1 from
| what I expected at first. This is reasonable, but since the
| function is exported, it should be documented.
Here's a comment I've just deduced and typed in for floatToDigits.
Does it meet the need?
-- floatToDigits takes a base and a non-negative RealFloat number,
-- and returns a list of digits and an exponent.=20
-- In particular, if x>=3D0, and
-- floatToDigits base x =3D ([d1,d2,...,dn], e)
-- then
-- (a) n >=3D 1
-- (b) x =3D 0.d1d2...dn * (base**e)
-- (c) 0 <=3D di <=3D base-1