1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
<!--#include virtual="doctype" -->
<HTML>
<HEAD>
<TITLE>Foire aux questions au sujet de Caml</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<!--#include virtual="hautdepage-fra.html" -->
<P>Dernire modification le 7 juillet 2004.
<P>
<H1 ALIGN=CENTER><IMG SRC="JoeCaml.gif" ALT=""> Exemples de programmes
Objective Camld</H1>
<P>Ce rpertoire contient des exemples de programmes Objective Caml.
<P>Les exemples peuvent soit tre compils et excuts comme des
programmes indpendants (taper <CODE>make</CODE> dans le
sous-rpertoire); si la vitesse de calcul importe, vous pouvez aussi
taper <CODE>make opt</CODE> pour obtenir un excutable produit par le
compilateur optimisant. Vous pouvez enfin les excuter directement dans le
systme interactif <CODE>ocaml</CODE>. Aprs avoir lanc le systme
interactif, taper
<PRE>
#use "loadall.ml";;
</PRE>
dans le rpertoire appropri.
<P>Remarquez que les programmes graphiques doivent tre excuts avec
un systme interactif qui contienne la librairie graphique, ce que l'on
obtient trs facilement en fabriquant la commande <CODE>ocamlgraph</CODE>
par l'appel de <CODE>ocamlmktop -custom -o ocamlgraph graphics.cma</CODE>.
<P>Les exemples marqus d'une astrisque <CODE>(*)</CODE> sont issus du
livre ``Le langage Caml'', de Pierre Weis et Xavier Leroy (Dunod,
1999). Les messages et les identificateurs sont alors en franais et
contiennent des lettres accentues (codage ISO 8859-1). Vous devez
donc disposer d'un systme supportant les caractres 8 bits pour lire ces
exemples.<BR>
Les exemples marqus (G) supposent que la librairie graphique (contenue
dans le rpertoire <CODE>contrib/libgraph</CODE> de la distribution) a
t installe.
<H2 ALIGN=LEFT>Exemples en un fichier</H2>
<P>Les sous-rpertoires sont les suivants:
<UL>
<LI>basics:<BR>
Un ensemble d'exemples simples lgrement avancs.
Voir <A HREF="basics/fra.html">le fichier fra.html</A> du rpertoire.
Outre des programmes de quelques lignes genre <CODE>Hello
World!</CODE>, le rpertoire contient des exemples de
programmation fonctionnelle (fibonacci, le crible d'Eratosthne)
et de programmation imprative (par exemple l'utilitaire Unix
<CODE>wc</CODE>).
<LI>colwheel: (G)<BR>
La roue des couleurs (l'espace des couleurs en coordonnes HSV).
Il faut au moins 256 coleurs pour que l'effet soit joli.
<LI>spirals: (G)<BR>
Exploration d'une famille de courbes amusantes. (Utilisez spir
sur un cran couleur et spir-bw sur un cran noir et blanc.)
<LI>showsort: (G)<BR>
Animation graphique d'algorithmes de tri.
<LI>hanoi: (*)(G)<BR>
Les tours de Hanoi animes. Utilise les listes et les chanes.
<LI>doctor: (*)<BR>
A (English-speaking) clone of Eliza.
<LI>docteur: (*)<BR>
Un clone d'Eliza.
</UL>
<H2 ALIGN=LEFT>Interface graphique</H2>
<P>Nous prsentons des exemples varis d'interfaces utilisateur
utilisant les outils de Caml/Tk (bas sur TCL/TK).
<UL>
<LI><A HREF="camltk/eng.html">camltk</A>: (*) <BR>
Un ensemble de programmes pour apprendre utiliser
l'interface graphique Caml/Tk (GUI). Depuis les programmes
trs simples (Bonjour tout le monde!), jusqu'au jeu ttris
interactif complet. Certains exemples proviennent du livre ``Le
langage Caml'', par Pierre Weis et Xavier Leroy
(InterEditions, 1999). Voir le fichier <A
HREF="camltk/eng.html">eng.html</A> dans le rpertoire.
</UL>
<H2 ALIGN=LEFT>Programmes modulaires</H2>
<P>Ces programmes sont dans les rpertoires correspondants. Ce sont
des applications compltement indpendantes, munies d'un Makefile qui
gre leur recompilation automatique. Ces exemples peuvent tre
difficiles apprhender.
<UL>
<LI>calc:<BR>
Un calculateur de bureau simplifi qui illustre l'utilisation
d'un analyseur syntaxique crit l'aide de camllex et camlyacc.
<LI>picomach: (*)<BR>
Un assembleur et simulateur de la <I>picomachine</I>, un
processeur RISC simplifi.
<LI>grep: (*)<BR>
Expressions rgulires et automates.
<LI>compress: (*)<BR>
Compression et dcompression de fichiers par la mthode
de Huffman.
<LI>demonstr: (*)<BR>
Un vrificateur de tautologies.
<LI>minicaml: (*)<BR>
Un interprte et contrleur de types pour un sous-ensemble
de Caml.
<LI>asl:<BR>
Implmentation d'un petit langage de programmation
fonctionnelle <I>A Small Language</I>, dcrit dans la
partie 3 du livre ``Functional Programming using Caml Light'',
par Michel Mauny et Guy Cousineau.
<LI>minilogo: (*) (G)<BR>
Un interprte pour un petit langage avec une tortue graphique.
<LI>pascal: (*)<BR>
Un interprte et compilateur pour un sous-ensemble de Pascal.
Le compilateur gnre du code pour la <I>picomachine</I>
dcrite par le programe suivant.
<LI>kb:<BR>
La procdure de compltion de Knuth-Bendix pour les systmes
de rcriture de termes.
Issu des notes de cours de Grard Huet.
</UL>
<P>Le rpertoire <CODE>config</CODE> ne contient pas d'exemples mais
les fichiers de configuration qui engendrent les
<CODE>Makefiles</CODE> des diffrents rpertoire..
<P>
Fichier cr le 20 mai 2002.
<!--#include virtual="basdepage-fra.html" -->
</BODY>
</HTML>
|