Re: affichage de liste

Pierre Weis (weis@pauillac.inria.fr)
Thu, 22 Feb 1996 11:37:47 +0100 (MET)

From: Pierre Weis <weis@pauillac.inria.fr>
Message-Id: <199602221037.LAA26764@pauillac.inria.fr>
Subject: Re: affichage de liste
To: albert@cal.enst.fr (Luc ALBERT)
Date: Thu, 22 Feb 1996 11:37:47 +0100 (MET)
In-Reply-To: <v01540501ad5134abaa85@[137.194.3.4]> from "Luc ALBERT" at Feb 22, 96 00:31:33 am

[English version below]

> y-a-t-il une limite a l'affichage d'une liste ?

En effet l'imprimeur du système interactif est confronté au problème
de l'impression de structures de données bouclées, et il utilise un
mécanisme de troncature pour assurer la terminaison de
l'impression. Cette troncature met en jeu deux compteurs, l'un
<CODE>print_depth</CODE> mesure la profondeur d'imbrication des
données imprimées (par exemple un élément d'une liste de liste se
trouve à profondeur 2), l'autre <CODE>print_length</CODE> mesure plus
simplement le nombre de noeuds imprimés (par exemple chaque élément
imprimé dans une liste incrémente la valeur de
<CODE>print_length</CODE>). Par de'faut <CODE>print_depth</CODE> vaut 100
et <CODE>print_length</CODE> 300. On fixe les valeurs de ces
variables avec les fonctions <CODE>set_print_depth</CODE> et
<CODE>set_print_length</CODE>.

> PS : existe-t- il un style latex2e pour une belle inclusion de programmes
> caml ? (avec des mots cles en gras etc ...)
> Luc ALBERT

Une interface entre Caml et LaTex est livrée avec la distribution du
système dans le répertoire <CODE>contrib/caml-tex</CODE> sous la
forme d'une commande <CODE>caml-tex</CODE>. C'est un filtre qui extrait les
phrases Caml d'un fichier LaTex argument, les évalue et insère leurs
sorties dans le fichier LaTex résultat.
(Ce filtre est écrit en Perl et nécessite donc Perl version 4 installé
sur votre machine).

En ce qui concerne plus spe'cifiquement l'impression de programmes
Caml en LaTex, je crois que Michel Mauny a mis au point un syste`me
d'indenteur et l'environnement LaTex associe' qui devrait pourvoir
vous satisfaire.

[English]
> Is there a limit to output-printing ?

The toplevel pretty-printer must print cyclic values.
So the pretty-printer uses a truncation mecanism to ensure
termination. This truncation involves two counters:
<CODE>print_depth</CODE> mesures nesting depth of values to print (for
instance an element within a list within a list has depth 2);
<CODE>print_length</CODE> mesures the number of node printed so far
(for instance each element printed in a list increments
<CODE>print_length</CODE>). The default value of
<CODE>print_depth</CODE> is 100, the default value of
<CODE>print_length</CODE> is 300. You can change these values using
the functions <CODE>set_print_depth</CODE> and <CODE>set_print_length</CODE>.

> PS: is there a latex2e style to include in an esthetic way caml programs in
> documents ? (with bold-faced key words, smart indentation etc ...)
> Luc ALBERT

An interface between Caml and LaTex is distributed in the
<CODE>contrib/caml-tex</CODE> directory, as a command
<CODE>caml-tex</CODE>. This is a filter that extracts Caml phrases
embedded in its LaTex file argument, evaluates them, and insert the
outcome of the evaluation into its LaTex output file.
(The filter is written in Perl, so you'll need Perl version 4 installed
on your machine.)

For pretty-printing of Caml programs into LaTex, Michel Mauny wrote a
pretty-printing system and a LaTex environment that could be useful.

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis