aboutsummaryrefslogtreecommitdiffstats
path: root/lib/protocols
diff options
context:
space:
mode:
authorEstevan Castilho <tevo@riajuu.net>2026-10-24 03:35:20 +0000
committerEstevan Castilho <tevo@riajuu.net>2026-10-24 03:51:08 +0000
commit8c2f0db7337328570af57461a3d95203537ac185 (patch)
treedf90400d4719ab5c04fb84530a8a3c0e2eae213e /lib/protocols
parentdf6c0744dc4ebd164cd8a309eef5d2798b2d3e90 (diff)
downloadRNT-8c2f0db7337328570af57461a3d95203537ac185.tar.gz
RNT-8c2f0db7337328570af57461a3d95203537ac185.zip
Use finger trees in more places
Diffstat (limited to 'lib/protocols')
-rw-r--r--lib/protocols/Directory.ml8
-rw-r--r--lib/protocols/Directory.mli2
2 files changed, 5 insertions, 5 deletions
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