diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/kernel/Namespace.ml | 6 | ||||
| -rw-r--r-- | lib/kernel/Namespace.mli | 2 | ||||
| -rw-r--r-- | lib/protocols/Directory.ml | 4 | ||||
| -rw-r--r-- | lib/protocols/Directory.mli | 8 |
4 files changed, 11 insertions, 9 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 diff --git a/lib/protocols/Directory.ml b/lib/protocols/Directory.ml index 5b21668..0d2507e 100644 --- a/lib/protocols/Directory.ml +++ b/lib/protocols/Directory.ml @@ -1,6 +1,6 @@ class type implementation = object - method list : string list - method find : string -> Handle.t option + method list : (string BatFingerTree.t, Concepts.Condition.condition) result + method find : string -> (Handle.t option, Concepts.Condition.condition) result end type Handle.protocol += Directory of implementation diff --git a/lib/protocols/Directory.mli b/lib/protocols/Directory.mli index 5bf5277..9033235 100644 --- a/lib/protocols/Directory.mli +++ b/lib/protocols/Directory.mli @@ -1,13 +1,13 @@ type t class type implementation = object - method list : string list - method find : string -> Handle.t option + method list : (string BatFingerTree.t, Concepts.Condition.condition) result + method find : string -> (Handle.t option, Concepts.Condition.condition) result end val make : #implementation -> Handle.protocol val from : Handle.t -> t Handle.interface option -val list : t Handle.interface -> string list -val find : t Handle.interface -> string -> Handle.t 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 |
