aboutsummaryrefslogtreecommitdiffstats
path: root/lib/prelude/domains.ml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-03-08 01:12:02 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-03-08 01:12:02 -0300
commit99ac1e7d9b77d69f2a85a108468d4433953d8269 (patch)
treefe549934d1eff7ad3b4384f07ef5c9355a1fee64 /lib/prelude/domains.ml
parent54015bfbe98cfd850e1a6c142d8f514a9f48ddd9 (diff)
downloadSakura-99ac1e7d9b77d69f2a85a108468d4433953d8269.tar.gz
Sakura-99ac1e7d9b77d69f2a85a108468d4433953d8269.zip
constraints
Diffstat (limited to 'lib/prelude/domains.ml')
-rw-r--r--lib/prelude/domains.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/prelude/domains.ml b/lib/prelude/domains.ml
index bc1716a..29104bb 100644
--- a/lib/prelude/domains.ml
+++ b/lib/prelude/domains.ml
@@ -40,6 +40,7 @@ let integer : Domain.t =
in
Domain.make ~name:"integer" ~generator ~membership_criteria
~cardinality:Conventions.Cardinality.AlephZero
+ ~compare:(fun a b -> Stdlib.compare (Obj.magic a : int) (Obj.magic b : int))
(** Natural number domain: non-negative integers (0, 1, 2, …).
Schema: [value: natural]. *)
@@ -63,6 +64,7 @@ let natural : Domain.t =
in
Domain.make ~name:"natural" ~generator ~membership_criteria
~cardinality:Conventions.Cardinality.AlephZero
+ ~compare:(fun a b -> Stdlib.compare (Obj.magic a : int) (Obj.magic b : int))
(** Rational number domain: pairs [(numerator, denominator)] where the
denominator is never zero. The generator enumerates all such pairs via
@@ -97,6 +99,8 @@ let rational : Domain.t =
in
Domain.make ~name:"rational" ~generator ~membership_criteria
~cardinality:Conventions.Cardinality.AlephZero
+ ~compare:(fun a b ->
+ Stdlib.compare (Obj.magic a : float) (Obj.magic b : float))
(** String domain: any string value. Not enumerable.
Schema: [value: string]. *)
@@ -110,3 +114,5 @@ let string : Domain.t =
in
Domain.make ~name:"string" ~generator ~membership_criteria
~cardinality:Conventions.Cardinality.AlephZero
+ ~compare:(fun a b ->
+ String.compare (Obj.magic a : string) (Obj.magic b : string))