Emacs: This file contains English -*- Text -*-.

READ THIS FILE FIRST, then

 o Read Install.unx for more information on how to install CScheme
   under Unix.

 o Read Install.vms for more information on how to install CScheme
   under VMS.

*** Known problems: ***

- Do not try to bring up CScheme on machines on which C longs
are less than 32 bits unless you are willing to put weeks of work into
it.  We're not even sure it is feasible without major redesign.
Note that we have not tried (recently) to bring CScheme up on anything
whose word size is not 32 bits.  Although it should be possible to do
it on machines where the word size is larger, there may be some code
which is not ready for this.

- Do not try to bring up CScheme on machines which do not use the
ASCII character set.  CScheme uses MIT ASCII (an extension to ASCII)
internally, but assumes that ASCII is the external encoding.  Removing
all dependencies would be very hard.

- The bignum (infinite(?) precision integers) code has problems due to
unsigned declarations being dropped by compilers (in addition to any
coding and algorithmic bugs, which bignum code is notorious for).  If
you have problems with unsignedness/overflow, you may want to try
forcing it to use characters as digits rather than shorts.  Look at
bignum.h.

- The bit string code assumes a particular byte ordering when coercing
between bignums and bit strings.  This will be changed soon, so do not
rely on this "feature".  This will be cleaned up when different back
ends for the compiler are written.  In the meantime, nothing in the
system uses bit strings, so you may want to avoid them.

- If you are running on an hp9000s800 (spectrum), there are certain
things which have not been debugged.  In particular, due to floating
point alignment problems, Bintopsb, Psbtobin, and Ppband may have
problems.  The psb files provided with the release contain no scheme
floating point objects, so initial installation, at least, should
work.

If your machine is not one of the supported ones, you manage to get
CScheme up on it, and would like to have an easier time with the next
release, please let us know, and send us the modified files so that we
can incorporate your changes into the released sources.

IF YOU ARE RUNNING NEITHER UNIX NOR VMS ...

... you will have to do some extra work.  The files Install.unx and
Install.vms may be of some help, but you'll have to filter out the
information which you can use.

Look for the file config.dst.  (If the scheme directory has
subdirectories corresponding to the unix hierarchy, it should be in
the microcode subdirectory).  Edit it as appropriate for your machine
and save it as config.h (the file Install.unx gives an overview, and
config.dst contains a detailed explanation of each definition).

Follow the installation procedure explained in Install.vms, after
modifying the "make.com" file to fit your command interpreter and
system.

Note that scheme will use the unknown.c operating system file.  Among
other things, this means that there will be no interrupt characters,
no immediate IO, and a fair amount of operating system dependent
procedures (time, date, file manipulation, etc.) will be missing.  
If they can be implemented on your system and you feel up to the task,
you can use unix.c and vms.c for guidance.

If you run into problems not described above, get in touch with us
(see README) and we may be able to help.  Good luck!
