summaryrefslogtreecommitdiff
path: root/ocaml-binary-annot/toplevel/genprintval.mli
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml-binary-annot/toplevel/genprintval.mli')
-rw-r--r--ocaml-binary-annot/toplevel/genprintval.mli52
1 files changed, 52 insertions, 0 deletions
diff --git a/ocaml-binary-annot/toplevel/genprintval.mli b/ocaml-binary-annot/toplevel/genprintval.mli
new file mode 100644
index 0000000000..898588b2dd
--- /dev/null
+++ b/ocaml-binary-annot/toplevel/genprintval.mli
@@ -0,0 +1,52 @@
+(***********************************************************************)
+(* *)
+(* Objective Caml *)
+(* *)
+(* Jerome Vouillon, projet Cristal, INRIA Rocquencourt *)
+(* *)
+(* Copyright 1996 Institut National de Recherche en Informatique et *)
+(* en Automatique. All rights reserved. This file is distributed *)
+(* under the terms of the Q Public License version 1.0. *)
+(* *)
+(***********************************************************************)
+
+(* $Id$ *)
+
+(* Printing of values *)
+
+open Types
+open Format
+
+module type OBJ =
+ sig
+ type t
+ val obj : t -> 'a
+ val is_block : t -> bool
+ val tag : t -> int
+ val size : t -> int
+ val field : t -> int -> t
+ end
+
+module type EVALPATH =
+ sig
+ type value
+ val eval_path: Path.t -> value
+ exception Error
+ val same_value: value -> value -> bool
+ end
+
+module type S =
+ sig
+ type t
+ val install_printer :
+ Path.t -> Types.type_expr -> (formatter -> t -> unit) -> unit
+ val remove_printer : Path.t -> unit
+ val outval_of_untyped_exception : t -> Outcometree.out_value
+ val outval_of_value :
+ int -> int ->
+ (int -> t -> Types.type_expr -> Outcometree.out_value option) ->
+ Env.t -> t -> type_expr -> Outcometree.out_value
+ end
+
+module Make(O : OBJ)(EVP : EVALPATH with type value = O.t) :
+ (S with type t = O.t)