This directory holds the source code and documentation for the latest
release of Elk, the Extension Language Kit.

The file RELEASE explains the purpose and release status of Elk;
COPYRIGHT and CONTRIBUTORS contain its copyright status and
acknowledgements.

CHANGES summarizes the changes between this and earlier releases.

MIGRATE explains how extensions written for old versions of Elk may
have to be modified (if necessary) so that they can be used with the
most recent version of Elk.

INSTALL explains how to compile and install Elk on your system.

MACHINES gives additional, machine-specific information (such as
compiler bugs, unsupported features, problems with older OS versions
and other pitfalls) about installing and using Elk on the systems
where it has been tested.

The directory "config" holds the configuration files containing
machine- and site-specific information required for building Elk.

"include" holds the include files with definitions of objects exported
by the interpreter.  These include files are used by all extensions.

"scripts" holds shell scripts used to link the interpreter with a
number of extensions and to link individual extensions.  See README
in this directory.

"src" holds the source files of the interpreter proper.

"scm" holds Scheme files that are loaded by the interpreter during
runtime.  These files are copied to a destination directory when Elk
is installed.

"lib" holds the source code of the Elk extensions.

lib/xlib and lib/xt contain the Xlib extension and the Xt extension
(the parts of them that are written in C).  See examples/xlib for
a few simple programs that demonstrate the Xlib extension to Elk.

lib/xaw and lib/xm contain the interfaces to the Athena and Motif
widgets.  There is one .d-file for each widget class; these .d-files
are compiled to .c-files by running "make".  See examples/xaw and
examples/xm for demo programs that make use of the Athena and Motif
extensions to Elk.

lib/util holds the source code for a small library of utility functions
that are used by all extensions.

lib/misc holds a number of small extensions that mainly serve as
demonstrations, among them a GNU "gdbm" extension.
 
"doc" holds the documentation for Elk.  All documents come both as
troff input and as preformatted PostScript files.  See doc/README for
an overview of the available documentation.

"examples" holds a number of simple demo programs.  The programs in
examples/scheme have been collected from various sources (among them
USENET and the Scheme mailing list).

"util" holds a few test programs that may serve helpful in preparing
a configuration file for an as yet unsupported type of system, and
other programs that are only required on certain exotic systems.
See README in this directory.

"contrib" holds a collection of extensions that have been contributed
by users of Elk.  I haven't tested most of the things in this directory;
I don't even know if all of them are usable with the current release of
Elk.
