aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/genarg.mli
diff options
context:
space:
mode:
authorGravatar Arnaud Spiwack <arnaud@spiwack.net>2014-02-27 13:50:57 +0100
committerGravatar Arnaud Spiwack <arnaud@spiwack.net>2014-02-27 13:50:57 +0100
commit4d6b938e90ecd9dbfb29a0af28a7d8b6a657ae17 (patch)
tree2269e31293437dc346447bccd13f22c172f10fca /lib/genarg.mli
parent27d780bd52e1776afb05793d43ac030af861c82d (diff)
Remove unsafe code (Obj.magic) in Tacinterp.
This commit also introduces a module Monad to generate monadic combinators (currently, only List.map).
Diffstat (limited to 'lib/genarg.mli')
-rw-r--r--lib/genarg.mli10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/genarg.mli b/lib/genarg.mli
index 6eea3ac92..45f0dddf2 100644
--- a/lib/genarg.mli
+++ b/lib/genarg.mli
@@ -186,6 +186,16 @@ val app_pair :
('a generic_argument -> 'b generic_argument)
-> 'a generic_argument -> 'b generic_argument
+module Monadic (M:Monad.S) : sig
+
+ (** [Monadic.app_list f x] maps the monadic computation [f] on
+ elements of [x], provided [x] has the tag [List0 t] for some [t]. It
+ fails otherwise. *)
+ val app_list : ('a generic_argument -> 'b generic_argument M.t) ->
+ 'a generic_argument -> 'b generic_argument M.t
+
+end
+
(** {6 Type reification} *)
type argument_type =