> Am I alone in finding the standard prelude for Haskell unsatisfactory
> when it comes to dealing with different sorts of numbers and how they
> are related?
No you're not alone. It took alot of effort to get my head around
Haskell's numeric class structure, and having done so (ish) I find it
seldom fits my needs. For ages I couldn't figure out how to
write the invaluable function : toDouble :: Real a => a -> Double ;
in fact its just: toDouble = fromRational . toRational, but the
computational expense of this is absurd.
Like others, I think it would be helpful if for
each class, the laws which are expected to hold for instances of that
class were stated explicitly.
Ian