aboutsummaryrefslogtreecommitdiffhomepage
path: root/ide/coq.mli
diff options
context:
space:
mode:
authorGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-01-26 17:31:26 +0000
committerGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-01-26 17:31:26 +0000
commit5f64ba6a73cc718d07405dd31c29a90e3f65fbd2 (patch)
tree0c4956df8f9b561249c48ced578a08a307dc1f61 /ide/coq.mli
parent6d8689b6e79017c8ba852d91ecfdadfa7321d7ce (diff)
Monadification of coqtop queries in CoqIDE
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16150 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'ide/coq.mli')
-rw-r--r--ide/coq.mli14
1 files changed, 13 insertions, 1 deletions
diff --git a/ide/coq.mli b/ide/coq.mli
index 230ff0b0b..a666c3cc2 100644
--- a/ide/coq.mli
+++ b/ide/coq.mli
@@ -49,7 +49,19 @@ type handle
*)
type void
-type 'a task = handle -> ('a -> void) -> void
+type 'a task
+
+val return : 'a -> 'a task
+(** Monadic return of values as tasks. *)
+
+val bind : 'a task -> ('a -> 'b task) -> 'b task
+(** Monadic binding of tasks *)
+
+val lift : (unit -> 'a) -> 'a task
+(** Return the impertative computation waiting to be processed. *)
+
+val seq : unit task -> 'a task -> 'a task
+(** Sequential composition *)
(** Check if coqtop is computing, i.e. already has a current task *)
val is_computing : coqtop -> bool