(**************************************************************************)
(*                                                                        *)
(*  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           *)
(*  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