mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 21:10:27 +02:00
(The principle here is that Preface should only contain meta-information about the manual, such as how to use it and who wrote it; plus any political points that we want to draw attention to.) * doc/ref/preface.texi (Preface): Make unnumbered, for consistency with other GNU manuals (e.g. Emacs, GSL). Merge layout text into top level. Simplify first sentence. Move section on conventions away... * doc/ref/intro.texi (Introduction to Guile): ...to here.
139 lines
5.4 KiB
Text
139 lines
5.4 KiB
Text
@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 to Guile
|
|
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:
|