为什么 OCaml 中不使用订单类型进行比较?

Chr*_*ris 5 ocaml sml

我还没有为 OCaml 设计决策找到合适的答案,希望这里对 OCaml 实现有深入了解的人之一可以提供一些启发。

在 SML 中,如果我们求值,Int.compare(6, 9)我们会得到LESSwhich 是该类型的构造函数order(其他的是GREATEREQUAL)。在 OCaml 中,如果我们评估compare 6 9我们会得到-1

是否有特定的理由支持 OCaml 标准库中的比较函数返回零、负数或正数,而不是 SML 中的代数数据类型?