Replace $letrec with $rec
[bpt/guile.git] / doc / ref / preface.texi
dissimilarity index 62%
index f2d59cc..3545836 100644 (file)
-@c -*-texinfo-*-
-@c This is part of the GNU Guile Reference Manual.
-@c Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004
-@c   Free Software Foundation, Inc.
-@c See the file guile.texi for copying conditions.
-
-@node Preface
-@unnumbered Preface
-
-This manual describes how to use Guile, GNU's Ubiquitous Intelligent
-Language for Extensions.  It relates particularly to Guile version
-@value{VERSION}.  The manual is divided into the following chapters.
-
-@table @strong
-@item Chapter 1: Introduction
-This part provides an overview of what Guile is and how you can use
-it.  A whirlwind tour shows how Guile can be used interactively and as
-a script interpreter, how to link Guile into your own applications,
-and how to write modules of interpreted and compiled code for use with
-Guile.  Everything introduced here is documented again and in full by
-the later parts of the manual.  This part also explains how to obtain
-and install new versions of Guile, and how to report bugs effectively.
-
-@item Chapter 2: Programming in Scheme
-This part provides an overview of programming in Scheme with Guile.
-It covers how to invoke the @code{guile} program from the command-line
-and how to write scripts in Scheme.  It also gives an introduction
-into the basic ideas of Scheme itself and to the various extensions
-that Guile offers beyond standard Scheme.
-
-@item Chapter 3: Programming in C
-This part provides an overview of how to use Guile in a C program.  It
-discusses the fundamental concepts that you need to understand to
-access the features of Guile, such as dynamic types and the garbage
-collector.  It explains in a tutorial like manner how to define new
-data types and functions for the use by Scheme programs.
-
-@item Chapter 4: Guile API Reference
-This part of the manual documents the Guile @acronym{API} in
-functionality-based groups with the Scheme and C interfaces presented
-side by side.
-
-@item Chapter 5: Guile Modules
-Describes some important modules, distributed as part of the Guile
-distribution, that extend the functionality provided by the Guile
-Scheme core.
-
-@item Chapter 6: GOOPS
-Describes GOOPS, an object oriented extension to Guile that provides
-classes, multiple inheritance and generic functions.
-
-@end table
-
-@menu
-* Contributors::                
-* Guile License::               
-@end menu
-
-@node Contributors
-@unnumberedsec Contributors to this Manual
-
-The Guile reference and tutorial manuals were written and edited
-largely by Mark Galassi and Jim Blandy.  In particular, Jim wrote the
-original tutorial on Guile's data representation and the C API for
-accessing Guile objects.
-
-Significant portions were contributed by Gary Houston (contributions
-to POSIX system calls and networking, expect, I/O internals and
-extensions, slib installation, error handling) and Tim Pierce
-(sections on script interpreter triggers, alists, function tracing).
-
-Tom Lord contributed a great deal of material with early Guile
-snapshots; although most of this text has been rewritten, all of it
-was important, and some of the structure remains.
-
-Aubrey Jaffer wrote the SCM Scheme implementation and manual upon
-which the Guile program and manual are based.  Some portions of the
-SCM and SLIB manuals have been included here verbatim.
-
-Since Guile 1.4, Neil Jerram has been maintaining and improving the
-reference manual.  Among other contributions, he wrote the Basic
-Ideas chapter, developed the tools for keeping the manual in sync
-with snarfed libguile docstrings, and reorganized the structure so as
-to accommodate docstrings for all Guile's primitives.
-
-Martin Grabmueller has made substantial contributions throughout the
-reference manual in preparation for the Guile 1.6 release, including
-filling out a lot of the documentation of Scheme data types, control
-mechanisms and procedures.  In addition, he wrote the documentation
-for Guile's SRFI modules and modules associated with the Guile REPL.
-
-The chapter on GOOPS was written by Christian Lynbech, Mikael
-Djurfeldt and Neil Jerram.
-
-@node Guile License
-@unnumberedsec The Guile License
-@cindex copying
-@cindex GPL
-@cindex LGPL
-@cindex license
-
-Guile is Free Software.  Guile is copyrighted, not public domain, and
-there are restrictions on its distribution or redistribution, but
-these restrictions are designed to permit everything a cooperating
-person would want to do.
-
-@itemize @bullet
-@item
-The Guile library (libguile) and supporting files are published under
-the terms of the GNU Lesser General Public License version 3 or later.
-See the files @file{COPYING.LESSER} and @file{COPYING}.
-
-@item
-The Guile readline module is published under the terms of the GNU
-General Public License version 3 or later.  See the file @file{COPYING}.
-
-@item
-The manual you're now reading is published under the terms of the GNU
-Free Documentation License (@pxref{GNU Free Documentation License}).
-@end itemize
-
-C code linking to the Guile library is subject to terms of that
-library.  Basically such code may be published on any terms, provided
-users can re-link against a new or modified version of Guile.
-
-C code linking to the Guile readline module is subject to the terms of
-that module.  Basically such code must be published on Free terms.
-
-Scheme level code written to be run by Guile (but not derived from
-Guile itself) is not restricted in any way, and may be published on any
-terms.  We encourage authors to publish on Free terms.
-
-You must be aware there is no warranty whatsoever for Guile.  This is
-described in full in the licenses.
-
-
-@c Local Variables:
-@c TeX-master: "guile.texi"
-@c End:
+@c -*-texinfo-*-
+@c This is part of the GNU Guile Reference Manual.
+@c Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2010, 2011
+@c   Free Software Foundation, Inc.
+@c See the file guile.texi for copying conditions.
+
+@node Preface
+@unnumbered Preface
+
+This manual describes how to use Guile, GNU's Ubiquitous Intelligent
+Language for Extensions.  It relates particularly to Guile version
+@value{VERSION}.
+
+@menu
+* Contributors::                
+* Guile License::               
+@end menu
+
+@node Contributors
+@unnumberedsec Contributors to this Manual
+
+Like Guile itself, the Guile reference manual is a living entity, cared
+for by many people over a long period of time.  As such, it is hard to
+identify individuals of whom to say ``yes, this person, she wrote the
+manual.''
+
+Still, among the many contributions, some caretakers stand out.  First
+among them is Neil Jerram, who has been working on this document for ten
+years now.  Neil's attention both to detail and to the big picture have
+made a real difference in the understanding of a generation of Guile
+hackers.
+
+Next we should note Marius Vollmer's effect on this document.  Marius
+maintained Guile during a period in which Guile's API was
+clarified---put to the fire, so to speak---and he had the good sense to
+effect the same change on the manual.
+
+Martin Grabmueller made substantial contributions throughout the manual
+in preparation for the Guile 1.6 release, including filling out a lot of
+the documentation of Scheme data types, control mechanisms and
+procedures.  In addition, he wrote the documentation for Guile's SRFI
+modules and modules associated with the Guile REPL.
+
+Ludovic Court@`es and Andy Wingo, the Guile maintainers at the time of
+this writing (late 2010), have also made their dent in the manual,
+writing documentation for new modules and subsystems in Guile 2.0.  They
+are also responsible for ensuring that the existing text retains its
+relevance as Guile evolves.  @xref{Reporting Bugs}, for more information
+on reporting problems in this manual.
+
+The content for the first versions of this manual incorporated and was
+inspired by documents from Aubrey Jaffer, author of the SCM system on
+which Guile was based, and from Tom Lord, Guile's first maintainer.
+Although most of this text has been rewritten, all of it was important,
+and some of the structure remains.
+
+The manual for the first versions of Guile were largely written, edited,
+and compiled by Mark Galassi and Jim Blandy.  In particular, Jim wrote
+the original tutorial on Guile's data representation and the C API for
+accessing Guile objects.
+
+Significant portions were also contributed by Thien-Thi Nguyen, Kevin
+Ryde, Mikael Djurfeldt, Christian Lynbech, Julian Graham, Gary Houston,
+Tim Pierce, and a few dozen more.  You, reader, are most welcome to join
+their esteemed ranks.  Visit Guile's web site at
+@uref{http://www.gnu.org/software/guile/} to find out how to get
+involved.
+
+
+@node Guile License
+@unnumberedsec The Guile License
+@cindex copying
+@cindex GPL
+@cindex LGPL
+@cindex license
+
+Guile is Free Software.  Guile is copyrighted, not public domain, and
+there are restrictions on its distribution or redistribution, but
+these restrictions are designed to permit everything a cooperating
+person would want to do.
+
+@itemize @bullet
+@item
+The Guile library (libguile) and supporting files are published under
+the terms of the GNU Lesser General Public License version 3 or later.
+See the files @file{COPYING.LESSER} and @file{COPYING}.
+
+@item
+The Guile readline module is published under the terms of the GNU
+General Public License version 3 or later.  See the file @file{COPYING}.
+
+@item
+The manual you're now reading is published under the terms of the GNU
+Free Documentation License (@pxref{GNU Free Documentation License}).
+@end itemize
+
+C code linking to the Guile library is subject to terms of that
+library.  Basically such code may be published on any terms, provided
+users can re-link against a new or modified version of Guile.
+
+C code linking to the Guile readline module is subject to the terms of
+that module.  Basically such code must be published on Free terms.
+
+Scheme level code written to be run by Guile (but not derived from
+Guile itself) is not restricted in any way, and may be published on any
+terms.  We encourage authors to publish on Free terms.
+
+You must be aware there is no warranty whatsoever for Guile.  This is
+described in full in the licenses.
+
+
+@c Local Variables:
+@c TeX-master: "guile.texi"
+@c End: