        INSTALLATION OF HOL LIGHT (PRE-RELEASE VERSION)

HOL Light runs under CAML Light; I presently use version 0.73, but
I believe any reasonably recent version will work without problems.
If you don't already have CAML Light installed, you can get it via
the CAML page:

  http://pauillac.inria.fr/caml/

HOL Light does not quite run in the basic system; it uses two of
the libraries, "unix" (Unix system calls) and "num" (bignums). The
former is only used to get the process ID to act as a unique
identifier for temporary files for the filter (see below). It can
be discarded if you never run multiple parallel sessions on the
same machine. Simply change the line 24 of "hol.ml" from:

  let uniqueid = string_of_int(unix__getpid()) in

to something else like

  let uniqueid = "" in

The CAML documentation explains how to build the system together
with individual libraries. You can build both "libunix" and "libnum"
together by building them as usual, but then manually
coalescing them. For example, go into contrib/libnum and do

    camlmktop -o <insert-your-filename-here> -custom ../libunix/unix.zo \ 
    ../libunix/libunix.a int_misc.zo string_misc.zo nat.zo big_int.zo   \
    arith_flags.zo ratio.zo  num.zo arith_status.zo libnums.a

This will create <insert-your-filename-here>, say "my_little_caml". If
you copy this to the CAML "bin" directory, then once you have that on
your path, everything will work fine. 

HOL Light runs a trivial filter program in front of CAML Light in
order to deal with quotations. This is in the file "filter.c". Compile
this, e.g. 

  gcc -O -o filter filter.c

Now you are ready to run HOL Light. Simply run the script "caml" (you
may need to edit this depending on the name of the filter's binary and
the CAML with the libraries loaded). Now type:

  include "hol.ml";;

This will load all the system from scratch (it takes about 5 minutes
on my machine). If you don't need the whole system, you can edit out
parts of "hol.ml", which indicates the build sequence.

John Harrison, 16th May 1997.
