整数行の制限に対処したい。すべてのxに対して> xPervasives.compareを扱い、 に対して逆を扱いたいと思います。RightInfinityPoint LeftInfinity
ocamlREPLでは:
# type open_pt = LeftInfinity | Point of int | RightInfinity
;;
# List.sort Pervasives.compare [LeftInfinity; Point 0; Point 1; RightInfinity]
;;
- : open_pt list = [LeftInfinity; RightInfinity; Point 0; Point 1]
しかし
# type open_pt = LeftInfinity | Point of int | RightInfinity of unit
;;
# List.sort Pervasives.compare [LeftInfinity; Point 0; Point 1; RightInfinity ()]
;;
- : open_pt list = [LeftInfinity; Point 0; Point 1; RightInfinity ()]
バリアントは最初にタグで比較され、タグが等しい場合は、コンテンツまで再帰的に下降します。
バリアントが型宣言に現れる順序とタグの順序の間の関係に依存できますか?