aboutsummaryrefslogtreecommitdiffstats
path: root/lib/prelude
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-03-06 15:15:12 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-03-06 15:15:12 -0300
commitb1eefaa8ab07d41bb0b0975ffdd62ef9aba47811 (patch)
tree673005759a41b779552886d20a570a476ba85959 /lib/prelude
parent5bbbbc976d25859082014f3720b82bcd2d05a2f0 (diff)
downloadSakura-b1eefaa8ab07d41bb0b0975ffdd62ef9aba47811.tar.gz
Sakura-b1eefaa8ab07d41bb0b0975ffdd62ef9aba47811.zip
use magic to cast types to opaque attributes
Diffstat (limited to '')
-rw-r--r--lib/prelude/standard.ml11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/prelude/standard.ml b/lib/prelude/standard.ml
index 43ffc44..d6f8cf3 100644
--- a/lib/prelude/standard.ml
+++ b/lib/prelude/standard.ml
@@ -10,11 +10,12 @@ let less_than_natural: Relation.t =
(left, r) in
match position with
| Some position ->
- let (left: Conventions.AbstractValue.t), (right: Conventions.AbstractValue.t) =
- let (left_value, right_value) = pair_of_nat position in
- ({ fields = Conventions.AbstractValue.StringMap.of_list [("value", string_of_int left_value)] },
- { fields = Conventions.AbstractValue.StringMap.of_list [("value", string_of_int right_value)] })
- in let attributes: Conventions.AbstractValue.t Tuple.AttributeMap.t =
+ let left, right = pair_of_nat position in
+ (* let left: Attribute.t = Attribute.make_materialized ~value: (Obj.magic left) in *)
+ (* let right: Attribute.t = Attribute.make_materialized ~value: (Obj.magic right) in *)
+ let left = Obj.magic left in
+ let right = Obj.magic right in
+ let attributes: Attribute.materialized Tuple.AttributeMap.t =
Tuple.AttributeMap.of_list [("left", left); ("right", right)]
in Generator.Value (Tuple.make_materialized ~relation: "less_than" ~attributes: attributes, generator)
| None -> Error "Cannot produce a randomly enumerated value for less_than over naturals."