>       Integers are a well defined mathematical concept and the
>       Integer class should reflect this.  Having a bottom value seems
>       wierd to me.
Indeed, I'd be quite happy to exclude it if our type systems were
powerful enough to handle it.  Integers with bottom should have type
'Lift Integer', or something similar.

> If Integers can have "error", why shouldn't Monads have "mfail"?
I'm objecting less to mfail then mzero.  I object to mzero on the same
grounds as I would if Ord would be a superclass of Num.  Some numbers
are not ordered and would require us to put in instance declarations that
fail at runtime.  Some monads do not have a zero and that forces us
to put in instance declarations that will fail at runtime.

   -- Lennart


Reply via email to