]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/acic_content/cicNotationPp.mli
metavariable context has a separator now
[helm.git] / helm / software / components / acic_content / cicNotationPp.mli
index 57a4d6b829238267471ce601dc1ced85a9118db9..d883ddfc624e34a6702dbdf90c3cc392937d365d 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
+(** ZACK
+ * This module does not print terms and object properly, it has been created
+ * mainly for debugging reason. There is no guarantee that printed strings are
+ * re-parsable. Moreover, actually there is no way at all to proper print
+ * objects in a way that is re-parsable.
+ *
+ * TODO the proper implementation of a pp_obj function like the one below should
+ * be as follows. Change its type to
+ *  pp_obj: CicNotationPt.obj -> CicNotationPres.markup
+ * and parametrize it over a function with the following type
+ *  pp_term: CicNotationPt.term -> CicNotationPres.markup
+ * The obtained markup can then be printed using CicNotationPres.print_xml or
+ * BoxPp.render_to_string(s)
+ *)
+
 val pp_term: CicNotationPt.term -> string
-val pp_obj: CicNotationPt.obj -> string
+val pp_obj: ('term -> string) -> 'term CicNotationPt.obj -> string
 
 val pp_env: CicNotationEnv.t -> string
 val pp_value: CicNotationEnv.value -> string
@@ -35,3 +50,6 @@ val pp_attribute: CicNotationPt.term_attribute -> string
 
 val pp_cic_appl_pattern: CicNotationPt.cic_appl_pattern -> string
 
+ (** non re-entrant change of pp_term function above *)
+val set_pp_term: (CicNotationPt.term -> string) -> unit
+