[ this is -*-Text-*- ]

This is librep, a Lisp system for UNIX. It contains a Lisp interpreter,
byte-code compiler and virtual machine. Applications may use the Lisp
interpreter as an extension language, or it may be used for stand-alone
scripts.

The Lisp dialect was originally inspired by Emacs Lisp, but with the
worst features removed. It also borrows many ideas from Scheme.

It is known to compile on at least Solaris/sparc and Linux/ix86; it is
released under the terms of the GNU GPL, copyright John Harper
<jsh@users.sourceforge.net>

For more details see:

	http://librep.sourceforge.net/

To compile this you'll need GNU make and the GNU MP library (see
below). Basically, just do:

	$ ./configure --with-readline
	$ make
	$ make install


Notes
=====

64-bit systems
--------------

If you're on a 64-bit architecture you may want to look at the
`--with-value-type' configure option. This is an implicitly signed
integer type (i.e. `int', `long', etc) that is wide enough to store an
arbitrary pointer without losing any bits.

It should be detected automatically by the configure script, but if not
there are two most likely required settings:

 1. For a machine with 64-bit pointers and longs, but only 32-bit ints
    the following could be done:

	$ ./configure --with-value-type=long

 2. For a machine with both int and long 32-bits, but with 64-bit
    pointers and long long ints, then:

	$ ./configure --with-value-type="long long"

If this option is set incorrectly (i.e. to an integer type that is too
small) a run-time assertion will be triggered when the interpreter
initialises itself.

Also, if this option is set to anything but int, long, or long long,
then the src/rep.h file will need to be edited for the constant suffix
and printf conversion of the chosen type.


libgmp
------

rep uses GNU MP for it's bignum/rational implementation; you can find
gmp at any GNU mirror. GMP as distributed only builds a static library
and hasn't been updated for around four years.

The support directory contains four patches that can be used to make
gmp (version 2.0.2) build a shared library on some platforms (tested on
at least Linux and Solaris). One of the patches also includes a number
of bug fixes.

Three of these patches were taken from the Redhat 6.0 gmp sources.

