aboutsummaryrefslogtreecommitdiffstats
path: root/lib/protocols/Program.mli
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/protocols/Program.mli36
1 files changed, 19 insertions, 17 deletions
diff --git a/lib/protocols/Program.mli b/lib/protocols/Program.mli
index a795f16..1d6c3ae 100644
--- a/lib/protocols/Program.mli
+++ b/lib/protocols/Program.mli
@@ -1,21 +1,23 @@
-type t
+module type PROGRAM = sig
+ type t
+end
+
+module Make (P : PROGRAM) : sig
+ type t
+
+ class type implementation = object
+ method invoke :
+ program:P.t ->
+ Context.t ->
+ (Handle.t, Concepts.Condition.condition) result
+ end
-class type implementation = object
- method entry_points : string BatFingerTree.t
- method invoke :
- entry:string ->
- bindings:Concepts.Tuple.t ->
+ val make : #implementation -> Handle.protocol
+ val from : Handle.t -> t Handle.interface option
+
+ val invoke :
+ t Handle.interface ->
+ program:P.t ->
Context.t ->
(Handle.t, Concepts.Condition.condition) result
end
-
-val make : #implementation -> Handle.protocol
-val from : Handle.t -> t Handle.interface option
-val entry_points : t Handle.interface -> string BatFingerTree.t
-
-val invoke :
- t Handle.interface ->
- entry:string ->
- bindings:Concepts.Tuple.t ->
- Context.t ->
- (Handle.t, Concepts.Condition.condition) result