This is the README file for es, version 0.84

Es is an extensible shell.  The language was derived from the Plan 9
shell, rc, and was influenced by functional programming languages,
such as Scheme, and the Tcl embeddable programming language.  This
implementation is derived from Byron Rakitzis's public domain
implementation of rc.

Please see config.h for any conditional flags you may have to set
on the command line to make es compile.  The Makefile should just
work; if it doesn't, please let us know.  An ANSI C compiler is
practically required.

For details on es, please see the man page.  The file initial.es,
which is used to build the initial memory state of the es interpreter,
can be read to better understand how pieces of the shell interact.
For some background into our motivation for writing es, see our
Winter 1993 Usenix paper, ``Es: a shell with higher-order functions,''
available by anonymous ftp as

	ftp.sys.utoronto.ca:/pub/es/usenix-w93.ps.Z

The paper corresponds very closely to the version of the shell
included here; see the file ERRATA for changes since the paper was
published.

See the file CHANGES for recent changes to the shell.  See the file
TODO for what we still think we have left to do, and roughly what
time frame we expect to do it in.

Paul's .esrc file is provided as an example as esrc.haahr; correctness
is not guaranteed.  A simple debugger for es scripts, esdebug, is also
included; this is very untested and should be considered little more
than a sketch of a few ideas.

A simple history mechanism for this shell (conceptually derived
from the Eighth Edition =(1) commands) is available in

	ftp.sys.utoronto.ca:/pub/es/history.tar.Z

Es supports the use of GNU readline (or compatible) libraries for
interactive command-line editing.  GNU readline may be obtained
from any of the many FSF reflector sights.  Simi Turner wrote a
much smaller readline clone called editline which Rich Salz has
been maintaining; a copy of it is available as

	ftp.sys.utoronto.ca:/pub/es/editline.tar.Z

Please report any problems to us at

	haahr@adobe.com
	byron@netapp.com

There is a mailing list for discussing es.  Send mail to

	es-request@hawkwind.utcs.toronto.edu

to join the list.  The list itself is

	es@hawkwind.utcs.toronto.edu

Es is in the public domain.  We hold no copyrights or patents on
the source code, and do not place any restrictions on its distribution.
We would appreciate it if any distributions do credit the authors.

Enjoy!

-- Paul Haahr & Byron Rakitzis
