This directory contains some examples of Caml programs.

The examples can either be compiled and executed as standalone programs
(just type "make" in the subdirectory), or run interactively under
"caml", by executing 

                include "loadall";;

in the appropriate directory.

Examples marked (*) are taken from the book ``Le langage Caml'', by
Pierre Weis and Xavier Leroy (InterEditions, 1993). Messages and
identifiers are in French.

basics:
        Three all-time favorites: Fibonacci, Eratosthene's sieve, and the
        Unix "wc" utility.

asl:
        This is the implementation of A Small Language, as described in
        part 3 of ``Functional Programming using Caml Light'', by
        Michel Mauny.

calc:
        This is a simple desk calculator that illustrates the use of camllex 
        and camlyacc.

colwheel:
        Display the "color wheel" (color space in HSB coordinates).

compress: (*)
        File compression and decompression (Huffman).

demonstr: (*)
        Tautology checker.

docteur: (*)
        A clone of Eliza.

grep: (*)
        Regular expressions and automata.

hanoi: (*)
        Animated towers of Hanoi.

kb:
        The Knuth-Bendix completion procedure for rewriting systems.
        Taken from some course notes by Gerard Huet.

minicaml: (*)
        An interpreter and typechecker for a subset of Caml.

minilogo: (*)
        An interpreter for a small language with turtle graphics.
        Requires the "libunix" and "libgraph" libraries,
        or the "camlgraph" interactive system.

pascal: (*)
        An interpreter and compiler for a subset of Pascal.
        The compiler generates code for the "picomach" program.

picomach: (*)
        An assembler and simulator for a RISC processor.

showsort:
        Graphics animation of sorting algorithms.

spirals:
        Draw a family of flashy curves.
