aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/Initialization.ml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-09-13 14:27:37 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-09-13 14:27:37 -0300
commitca8c92915bd3a7fa19ef57b8bd5a9b3f16d05254 (patch)
tree630de49e86dfc3a87b4e5187f022b7183cbe7e4a /lib/kernel/Initialization.ml
parent9b9eab0bb54ed951c56eb6551d9ee470dc5b43aa (diff)
downloadRNT-ca8c92915bd3a7fa19ef57b8bd5a9b3f16d05254.tar.gz
RNT-ca8c92915bd3a7fa19ef57b8bd5a9b3f16d05254.zip
fol evaluator
Diffstat (limited to 'lib/kernel/Initialization.ml')
-rw-r--r--lib/kernel/Initialization.ml12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/kernel/Initialization.ml b/lib/kernel/Initialization.ml
index d213b66..ae041fc 100644
--- a/lib/kernel/Initialization.ml
+++ b/lib/kernel/Initialization.ml
@@ -1,12 +1,22 @@
module Make (S : Abstract.Storage.STORAGE) = struct
module BM = BranchManager.Make (S)
- let initialize conn =
+ let initialize ?(evaluators = []) conn =
let open Utilities.Result in
let open Protocols in
let root = Namespace.make () in
let registry = Registry.from root |> Option.get in
let* branch_manager = BM.make conn "rnt-head" in
let* _ = Registry.update registry "branch" None (Some branch_manager) in
+ let evaluator_namespace = Namespace.make () in
+ let evaluator_registry = Registry.from evaluator_namespace |> Option.get in
+ let* _ =
+ List.fold_left
+ (fun acc (name, handle) ->
+ let* _ = acc in
+ Registry.update evaluator_registry name None (Some handle))
+ (Ok true) evaluators
+ in
+ let* _ = Registry.update registry "evaluator" None (Some evaluator_namespace) in
Ok root
end