<div dir="ltr">Ok, then lets use, 12572247014351 which happens to be a prime.<div><br></div><div>No, there are good reasons for not using the integer domain in this way:</div><div><br></div><div>first of all, the type of comparisons will be</div>

<div><br></div><div>Do note, that if we had something like view-types, we can easily convert from order to the integer domain:</div><div><br></div><div>view(eq) -> 0;</div><div>view(lt) -> -1;</div><div>view(gt) -> 1.</div>

<div><br></div><div>This function is exhaustive in the input type. Whereas the opposite definition will fail for view(1337), for instance. I do know Erlang is a unityped language, but whenever there is a possibility of picking an interface from a polytyped language, they are much to be preferred.</div>

<div><br></div><div>Do note that this is in order with Standard ML and Haskell, whereas Ocaml chose the int-path. But I still think comparison should be case-analysed.</div><div><br></div><div>Another problem with an integer is that</div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+1 for -1, 0, and 1, math simplifies then in cases</blockquote></div><br>No -1000 for this bad insane idea. Comparison is an algebraic datatype with three outcomes: lt, eq or gt. You DON'T use an integer domain to represent that. Why not -1337, 0 and +230439204830948320498 instead? They are equally good I guess!</div>