aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel
diff options
context:
space:
mode:
authorEstevan Castilho <tevo@riajuu.net>2026-08-23 03:34:07 +0000
committerEstevan Castilho <tevo@riajuu.net>2026-08-23 03:34:26 +0000
commitc452541e935295f2708271a12207f7c7ee2636bf (patch)
treedaad8008ef06c2f4ddd471f0a46cbe5f16042d16 /lib/kernel
parent26e03cf21247aeed6e6f2bfc269c4c540ca9a451 (diff)
downloadRNT-c452541e935295f2708271a12207f7c7ee2636bf.tar.gz
RNT-c452541e935295f2708271a12207f7c7ee2636bf.zip
Allow directory operations to fail if needed
Diffstat (limited to '')
-rw-r--r--lib/kernel/Namespace.ml6
-rw-r--r--lib/kernel/Namespace.mli2
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/kernel/Namespace.ml b/lib/kernel/Namespace.ml
index 7c9cd2b..20f83f5 100644
--- a/lib/kernel/Namespace.ml
+++ b/lib/kernel/Namespace.ml
@@ -38,12 +38,14 @@ class namespace = object (self)
method list =
Atomic.get entries
|> BatMap.keys
- |> BatList.of_enum
+ |> BatFingerTree.of_enum
+ |> Result.ok
method find key =
Atomic.get entries
|> BatMap.find_opt key
|> Utilities.Option.fmap Protocols.Handle.copy
+ |> Result.ok
end
-let make () = new namespace
+let make () = Protocols.Handle.make (new namespace)
diff --git a/lib/kernel/Namespace.mli b/lib/kernel/Namespace.mli
index 3ed64a3..ec77724 100644
--- a/lib/kernel/Namespace.mli
+++ b/lib/kernel/Namespace.mli
@@ -4,4 +4,4 @@ class namespace : object
inherit Protocols.Registry.implementation
end
-val make : unit -> namespace
+val make : unit -> Protocols.Handle.t