diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-12 11:47:14 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-12 11:47:14 -0300 |
| commit | a3acc318ead5620ac20f70815b4dfb0810ccd2a4 (patch) | |
| tree | e1bf3b6331c07005a83650da36499a931dfeb24d /lib/kernel/Multigroup.ml | |
| parent | c66c3c82fda2f68e5aac62d16657d8a77e6d91ee (diff) | |
| download | RNT-a3acc318ead5620ac20f70815b4dfb0810ccd2a4.tar.gz RNT-a3acc318ead5620ac20f70815b4dfb0810ccd2a4.zip | |
abstracting headers and merkle of list construction
Diffstat (limited to 'lib/kernel/Multigroup.ml')
| -rw-r--r-- | lib/kernel/Multigroup.ml | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/lib/kernel/Multigroup.ml b/lib/kernel/Multigroup.ml index e6135c6..13ca7e0 100644 --- a/lib/kernel/Multigroup.ml +++ b/lib/kernel/Multigroup.ml @@ -116,15 +116,9 @@ module Make (S : Abstract.Storage.STORAGE) = struct |> Utilities.List.sequence let tree_of tx admissions = - let open Utilities.Result in - let* _ = T.empty_under tx in - T.with_batch tx (fun () -> - List.fold_left - (fun node (name, store) -> - let* node = node in - let* addr = store tx in - T.insert tx name addr node ) - (Ok T.empty) admissions ) + List.map (fun (name, store) -> store tx |> Result.map (fun addr -> name, addr)) admissions + |> Utilities.List.sequence + |> Utilities.Result.fmap (T.of_list tx) let admit_schema _ h = let open Utilities.Result in |
