I sent a report to SPJ on Tuesday complaining about the Haskell 98 definition of asin
on Complex.  Whatever the outcome of this report, I think the Haskell 98 definitions 
for 
Complex need the following documentational change.  We should document, not in Haskell 
code,
but in words, what each function is supposed to do, where there might be any doubt.
For example, how do you tell from the definition of sqrt in the standard which of the 
two possible square roots is being chosen:
> sqrt 0         =  0
> sqrt z@(x:+y)  =  u :+ (if y < 0 then -v else v)
>                   where (u,v) = if x < 0 then (v',u') else (u',v')
>                         v'    = abs y / (u'*2)
>                         u'    = sqrt ((magnitude z + abs x) / 2)
(I think I'll leave this as an exercise for the reader 8-)

What is needed is a statement saying that sqrt z approximates the squareroot with phase
in [0,pi) (or whatever the answer is).

The standard should also specify in words which answer to log, asinh, acosh, atanh, 
asin,
acos, atan, is being chosen.

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to