[MLton] Int Overflow detection
Neophytos Michael
nmichael@yahoo.com
Wed, 16 Mar 2005 14:34:24 -0800 (PST)
That's fine but when I interact with the standard lib I give and receive ints
and not words so I have to "decorate" my code with Word.fromInt and
Word32.toIntX which is not very nice or convinient.
For example instead of writting:
------------------------------
fun sum a =
let
val l = (Array.length a)
fun loop (i, res) =
if i = l then res
else loop (i + 1, Array.sub (a, i) + res)
in
loop (0, 0.0)
end
------------------------------
I have to write:
------------------------------
fun sum a =
let
val l = Word32.fromInt (Array.length a)
fun loop (i : Word32.word, res) =
if i = l then res
else loop (i + 0w1, Array.sub (a, Word32.toIntX i) + res)
in
loop (0w0 : Word32.word, 0.0)
end
------------------------------
Neophytos
--- Henry Cejtin <henry@sourcelight.com> wrote:
> You use Word, not Int to get that. (No overflow detection, wrap-around
> arithmetic.)
>
> _______________________________________________
> MLton mailing list
> MLton@mlton.org
> http://mlton.org/mailman/listinfo/mlton
>
__________________________________
Do you Yahoo!?
Yahoo! Mail - Find what you need with new enhanced search.
http://info.mail.yahoo.com/mail_250