From 327d0d2a47591e02299d4e7360d5b7e03b4962d2 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Sun, 13 Sep 2026 02:31:39 -0300 Subject: delete remaining trash --- lib/protocols/Context.ml | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 lib/protocols/Context.ml (limited to 'lib/protocols/Context.ml') diff --git a/lib/protocols/Context.ml b/lib/protocols/Context.ml deleted file mode 100644 index ea314a6..0000000 --- a/lib/protocols/Context.ml +++ /dev/null @@ -1,30 +0,0 @@ -module Error = struct - open Concepts.Condition - - let unresolved name = - condition "unresolved-name" "A name did not resolve to any object reachable from this context" - ("name" |=| Concepts.Value.String name) -end - -class type implementation = object - method resolve : string -> (Handle.t option, Concepts.Condition.condition) result - method cancelled : bool - method charge : int -> (unit, Concepts.Condition.condition) result - method nest : ?authority:string BatSet.t -> unit -> implementation -end - -(* Unlike every other protocol here, a context is handed to [Program.invoke] directly rather than - looked up through [Handle.into], exactly as evaluators.org's pseudocode shows. It therefore needs - no extensible-variant constructor and [make] is a plain upcast. *) -type t = implementation - -let make impl = (impl :> implementation) -let resolve context name = context#resolve name -let cancelled context = context#cancelled -let charge context n = context#charge n -let nest ?authority context = context#nest ?authority () |> make - -let require context name = - let open Utilities.Result in - let* found = resolve context name in - Option.to_result ~none:(Error.unresolved name) found -- cgit v1.2.3