Add a command line tool for examining the goaljobs persistent memory.
[goaljobs.git] / goaljobs.mli
index a6361c5..7374f54 100644 (file)
@@ -70,7 +70,7 @@ val target_exists : bool list -> unit
   (** [target_exists [t1; t2; ...]] is the same as writing
       [target (t1 || t2 || ...)] *)
 
-val require : (unit -> unit) -> unit
+val require : string -> (unit -> unit) -> unit
   (** [require] {i goal} defines the requirements of this goal, that
       is, other goals that have to be met before the rest of the
       goal is able to run.
@@ -265,6 +265,9 @@ val memory_get : string -> string option
 val memory_delete : string -> unit
   (** Delete the [key].  If the key doesn't exist, has no effect. *)
 
+val memory_list : unit -> (string * string) list
+  (** Return all [(key, value)] pairs in the memory. *)
+
 (** {2 Publishing goals} *)
 
 val publish : string -> (string list -> unit) -> unit
@@ -343,3 +346,7 @@ val init : unit -> unit
 (* Export this so the macros can catch these exceptions. *)
 type goal_result_t = Goal_OK | Goal_failed of string
 exception Goal_result of goal_result_t
+
+(* Called to print debug message when we enter or leave a goal. *)
+val _enter_goal : string -> unit
+val _leave_goal : string -> unit