On Thu, Jan 10, 2008 at 02:52:26PM +0000, Thomas Fischbacher wrote:
compare [|1;2;3|] [|4;5|];; (* ...but actially is not: this gives 1,
supposedly because the second list is
shorter than the first.
*)
This is indeed unexpected behavior:
# compare "123" "45";;
- : int = -1
# compare [1;2;3] [4;5];;
- : int = -1
# compare [|1;2;3|] [|4;5|];;
- : int = 1
It it? I mean, all I ever read into compare was that it returned a
*consistent* ordering- for example, if a < b and b < c, then a
< c. Note that a *specific* ordering was ever gaurenteed- and if I
wanted a specific ordering, I should implement it myself. It certainly
wasn't ever gaurenteed that the ordering would be consistent with some
other (or any other) language.