Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.

THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.

Permission is hereby granted to use or copy this program
for any purpose,  provided the above notices are retained on all copies.
Permission to modify the code and to distribute modified code is granted,
provided the above notices are retained, and a notice that the code was
modified is included with the above copyright notice.

Please send bug reports to Hans-J. Boehm (boehm@parc.xerox.com).

This is a string packages that uses a tree-based representation.
See gc.h for a description of the functions provided.  Ec.h describes
"extensible cords", which are essentially output streams that write
to a cord.  These allow for efficient construction of cords without
requiring a bound on the size of a cord.

de.c is a very dumb text editor that illustrates the use of cords.
It maintains a list of file versions.  Each version is simply a
cord representing the file contents.  Nonetheless, standard
editing operations are efficient, even on very large files.
(Its 3 line "user manual" can be obtained by invoking it without
arguments.  Note that ^R^N and ^R^P move the cursor by
almost a screen.  It does not understand tabs, which will show
up as highlighred "I"s.  Use the UNIX "expand" program first.)
To build the editor, type "make cord/de" in the gc directory.

This package assumes an ANSI C compiler such as gcc.  It will
not compile with an old-style K&R compiler.
