From 55174a28581c33c4b6d91066086a2ee7b5c663ea Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Sat, 31 Oct 2026 03:15:28 -0300 Subject: bencode helpers between dicts and string maps --- lib/evaluators/FOL.ml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'lib/evaluators') diff --git a/lib/evaluators/FOL.ml b/lib/evaluators/FOL.ml index a7685bd..01264e3 100644 --- a/lib/evaluators/FOL.ml +++ b/lib/evaluators/FOL.ml @@ -53,11 +53,7 @@ let rec bencode_of_term = ( 'w', Bencode.Dict [ "term", bencode_of_term term; - ( "binding", - Bencode.Dict - ( BatMap.String.bindings binding - |> List.map (fun (name, value) -> name, Concepts.Tuple.bencode_of_value value) ) ) - ] ) + "binding", Bencode.of_map Concepts.Tuple.bencode_of_value binding ] ) let rec term_of_bencode = let open Utilities.Result in @@ -74,15 +70,10 @@ let rec term_of_bencode = Ok (Project (term, BatFingerTree.of_list attributes)) | Bencode.Tagged ('w', data) -> let* term = Bencode.field "term" data |>> term_of_bencode in - let* binding = Bencode.field "binding" data |>> Bencode.as_dict in let* binding = - List.map - (fun (name, value) -> - Concepts.Tuple.value_of_bencode value |> Result.map (fun value -> name, value) ) - binding - |> Utilities.List.sequence + Bencode.field "binding" data |>> Bencode.to_map Concepts.Tuple.value_of_bencode in - Ok (Where (term, BatMap.String.of_list binding)) + Ok (Where (term, binding)) | _ -> Error (Error.malformed_program ()) let encode term = bencode_of_term term |> Bencode.to_bytes |> Bytes.to_string -- cgit v1.2.3