This is an alpha release of the Guile WWW library, version 1.0.

Roadmap:

The (www http) library includes some support for navigating HTTP
connections.  http:open, http:request and http:get may be used for
opening connections and making HTTP requests; http:make-message,
http:message-body and http:message-header may be used to
manipulate HTTP messages.  Support is planned for the full
HTTP/1.1 protocol, including cookies and persistent connections.

(www url) provides url:parse for parsing a URL into its component
parts, and the selector functions url:scheme, url:host, url:port
and url:path for selecting individual components of a parsed URL.
For individual components that may have been URL-encoded in
transit, url:decode translates a string into its raw (unencoded)
form.

(www cgi) provides some functions helpful in writing CGI scripts
painlessly.  The focus is on scripts to process interactive forms.
cgi:init reads any form data and initializes a CGI environment.
cgi:form-data? determines whether any form data has been returned
by a browser for processing.  cgi-value returns the value
associated with a form variable, and cgi-names and cgi-values
return all of the names and values present in the current form.

(www main) provides www:get, which decodes a URL and invokes the
appropriate protocol handler for retrieving the desired object.
It is intended to be a generic interface useful for retriving data
named by any URL.

wwwcat is an example script of how www:get and other functions
might be used by a Guile application.

A generic guide to hacking on Guile software follows.

Tim Pierce
twp@tezcat.com

Hacking It Yourself ==================================================

As distributed, the Guile WWW library needs only a Unix system to build
and install.  However, its makefiles, configuration scripts, and a few
other files are automatically generated, not written by hand.  If you
want to make changes to the system (which we encourage!) you will find
it helpful to have the tools we use to develop it.  They are the
following:

Autoconf 2.12 --- a system for automatically generating `configure'
	scripts from templates which list the non-portable features a
	program would like to use.  Available in
	"ftp://prep.ai.mit.edu/pub/gnu".

Automake 1.1p --- a system for automatically generating Makefiles that
	conform to the (rather Byzantine) GNU coding standards.  The
	nice thing is that it takes care of hairy targets like 'make
	dist' and 'make distclean', and automatically generates
	Makefile dependencies.  Available in
	"ftp://ftp.cygnus.com/pub/tromey".

libtool 0.9d --- a system for managing the zillion hairy options needed
	on various systems to produce shared libraries.  Available in
	"ftp://alpha.gnu.ai.mit.edu/gnu".

You are lost in a little maze of automatically generated files, all
different.
