(** * display.mli * ColorML_v2 project * (C) Lilian Besson, 2014 *) (**************************************************************************) (* *) (* Copyright (C) Jean-Christophe Filliatre *) (* *) (* This software is free software; you can redistribute it and/or *) (* modify it under the terms of the GNU Library General Public *) (* License version 2, with the special exception on linking *) (* described in file LICENSE. *) (* *) (* This software is distributed in the hope that it will be useful, *) (* but WITHOUT ANY WARRANTY; without even the implied warranty of *) (* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *) (* *) (**************************************************************************) (* Visualization of Caml objects. *) (* This module provides a graphic visualization of Objective Caml objects, whatever they are (it is a polymorphic function). The representation is output in an ASCII file, in a suitable format for the \emph{dot} tool (see \texttt{http://www.research.att.com/sw/tools/graphviz}). If [f] is the output file, then you can, for instance, produce a PostScript document from it with the following command $$\texttt{dot -Tps -o $f$.ps $f$}$$ The only exported function is [display], which take the name of the output file, and the Caml object to display. [display_list] is a variant displaying all the elements of a list, but not the list itself. *) val display : string -> 'a -> unit val display_list : string -> 'a list -> unit val viewps : ?silent:bool -> 'a -> unit (** Cette fonction est un rajout de Lilian Besson pour automatiser la génération du graphique, et l'affichage. Utilise 'dot', 'evince', et 'gnome-terminal'. @param silent Si présent et = [false], l'opération n'est pas silencieuse. Fonctionne assez mal en fait : les listes d'entiers et de flottants, les tableaux d'entiers, les entiers, les flottants, les exceptions, les chaines sont les seuls éléments à être bien représentés. *)