From 8c2f0db7337328570af57461a3d95203537ac185 Mon Sep 17 00:00:00 2001 From: Estevan Castilho Date: Sat, 24 Oct 2026 03:35:20 +0000 Subject: Use finger trees in more places --- lib/protocols/Directory.ml | 8 ++++---- lib/protocols/Directory.mli | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/protocols') diff --git a/lib/protocols/Directory.ml b/lib/protocols/Directory.ml index b8caca0..fd45949 100644 --- a/lib/protocols/Directory.ml +++ b/lib/protocols/Directory.ml @@ -15,9 +15,9 @@ let children directory = let open Utilities.Result in let* listing = Handle.require from directory in let* names = list listing in - BatFingerTree.to_list names - |> List.map (fun name -> + names + |> BatFingerTree.map (fun name -> let* found = find listing name in Ok (Option.map (fun child -> name, child) found) ) - |> Utilities.List.sequence - |> Result.map (List.filter_map Fun.id) + |> Utilities.FingerTree.sequence + |> Result.map (Utilities.FingerTree.filter_map Fun.id) diff --git a/lib/protocols/Directory.mli b/lib/protocols/Directory.mli index 77cb27a..332b1b6 100644 --- a/lib/protocols/Directory.mli +++ b/lib/protocols/Directory.mli @@ -9,4 +9,4 @@ val make : #implementation -> Handle.protocol val from : Handle.t -> t Handle.interface option val list : t Handle.interface -> (string BatFingerTree.t, Concepts.Condition.condition) result val find : t Handle.interface -> string -> (Handle.t option, Concepts.Condition.condition) result -val children : Handle.t -> ((string * Handle.t) list, Concepts.Condition.condition) result +val children : Handle.t -> ((string * Handle.t) BatFingerTree.t, Concepts.Condition.condition) result -- cgit v1.2.3