compare
(compare x y)
clojure.core/compare: x が y より前・同じ・後ろに並ぶとき、それぞれ負の数・0・正の数を
返します。順序はオラクルと同じです。nil は何よりも前、数値は種類をまたいで値で比べ
((compare 1 1.0) は 0)、文字列・キーワード・シンボルは Java の compareTo と同じく
比べます(最初に異なる文字の差。名前空間のない名前が先)。文字は差を返し、false は
true より前、ベクターは長さで比べてから要素を順に比べます。種類の違う2つの値や、順序の
ない種類の値(リスト・マップ・セット)はシグナルを上げます。sorted-map/sorted-set の
順序であり、sort の比較関数にもなります。文字列はコードポイントで比べます。オラクルは
UTF-16 の単位で比べるので、U+FFFF を超える文字で答えが変わります。値としては2引数の関数です。