Programmation OCaml
À mes heures perdues, je développe quelques bricoles, principalement
en Objective Caml, un langage fonctionnel disposant d'une
excellente bibliothèque standard et d'un compilateur (bytecode et
natif) qui peut rivaliser avec gcc.
Le code Objective Caml étant entièrrement portable, vous pouvez recompiler
le code ci-dessous sur toutes les plate-formes supportées par
Objective Caml : Linux, un grand nombre d'UNIX commerciaux, mais aussi
MacOS, Windows, etc.
(sauf lorsque l'on utilise une spécificité d'un système, comme
la bibliothèque SVGAlib de Linux).
Sauf mention explicite du contraire, tout le code disponible sur
cette page est distribué selon les termes de la GNU Library
General Public License version 2, avec une exception concernant
l'édition de lien, décrite dans le fichier
LICENSE.
À propos des liens ci-dessous :
- Les .ps sont des fichiers PostScript
produits à partir du source OCaml grâce à ocamlweb.
- Les .ml et .mli ont été produits avec l'outil caml2html
de Sébastien Ailleret (maintenant Martin Jambon).
- Cliquer sur le nom de la bibliothèque / de l'application pour télécharger.
Structures de données
Bibliothèques
- OCamlgraph, une bibliothèque de
graphes pour OCaml
- Mlpost, une bibliothèque OCaml pour dessiner des
figures
- cgi :
une bibliothèque pour écrire des scripts CGI
(.mli)
- ocamlsvga :
interface pour de la bibliothèque Linux SVGAlib
- ocamlsdl :
interface pour de la bibliothèque graphique SDL;
inclus le support OpenGL, pour être utilisé par exemple avec
lablGL
Note : il existe un projet similaire plus avancé, OcamlSDL.sourceforge.net
- display :
visualisation de la représentation interne des valeurs Caml
(.ps |
.mli)
- size :
calcul de l'occupation en mémoire d'une valeur Caml
(.ps |
.mli)
- hashcons :
tables de hash pour le hash consing
(.ps |
.mli).
Cette technique est décrite dans
ce
papier.
Hset / Hmap:
Modules Ptset et Ptmap (voir ci-dessus)
spécialisés sur les valeurs hash-consées
(hset.mli |
hmap.mli).
- prtree :
pour imprimer des arbres à la manière de pstree
(.ps |
.mli)
- search :
codes fonctorisés pour les recherches en profondeur, en
largeur, et en approfondissement itératif
(.ps |
.mli)
Applications
- bibtex2html :
convertisseur de BibTeX vers HTML
- ocamlweb :
un outil de programmation litéraire pour Objective Caml
- ocamlwc :
un programme pour compter les lignes de code et de
documentation dans du source OCaml
(.ps)
- yamlpp :
un pré-processeur HTML très simple,
inspiré par l'htmlpp de Nicolas Thiéry
Algorithmique
Jeux
Documentation
Divers
J'aime cette définition du mot hacker tirée du
Jargon File:
Hacker: One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming.
Quelques applications écrites (par d'autres) en OCaml
- GeneWeb -
logiciel de généalogie
- HeVeA -
un traducteur LaTeX vers HTML
Quelques pointeurs
Détente
Jean-Christophe.Filliatre[at]lri.fr
(formatté avec yamlpp).