A simple problem
Tom Pledger
Tom.Pledger@peace.com
Fri, 19 Jan 2001 13:34:04 +1300
Ashley Yakeley writes:
> At 2001-01-18 15:38, I wrote:
>
> >3 is not always an Integer. It's of type "(Num a) => a".
>
> Of course, it would be nice if 3 were an Integer, and Integer were a
> subtype of Real. I haven't come across a language that does this, where
> for instance 3.0 can be cast to Integer (because it is one) but 3.1
> cannot be.
A cast in that direction - becoming more specific - would be nicely
typed as:
Real -> Maybe Integer
or with the help of the fail and return methods:
Monad m => Real -> m Integer