From b1eefaa8ab07d41bb0b0975ffdd62ef9aba47811 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Fri, 6 Mar 2026 15:15:12 -0300 Subject: use magic to cast types to opaque attributes --- lib/prelude/standard.ml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'lib/prelude') 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." -- cgit v1.2.3