summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/ref/intro.texi54
1 files changed, 38 insertions, 16 deletions
diff --git a/doc/ref/intro.texi b/doc/ref/intro.texi
index fc4e4d6eb..50cf1f85c 100644
--- a/doc/ref/intro.texi
+++ b/doc/ref/intro.texi
@@ -35,39 +35,61 @@ it emphasizes interactive and incremental programming
it actually supports several languages, not just Scheme.
@end itemize
@noindent
-The next section explains what we mean by these points. The sections
-after that cover how you can obtain and install Guile, a tour of the
-ways that you can use it, how to report any problems that you
+The next few sections explain what we mean by these points. The
+sections after that cover how you can obtain and install Guile, a tour
+of the ways that you can use it, how to report any problems that you
encounter, and some typographical conventions that we use in this
manual.
@menu
-* What is Guile?::
+* Guile and Scheme::
+* Combining with C::
* Obtaining and Installing Guile::
* Whirlwind Tour::
* Reporting Bugs::
* Typographical Conventions::
@end menu
-@node What is Guile?
-@section What is Guile?
+@node Guile and Scheme
+@section Guile and Scheme
-Guile is an interpreter for the Scheme programming language, packaged
-for use in a wide variety of environments. Guile implements Scheme as
-described in the
+Guile implements Scheme as described in the
@tex
Revised$^5$
@end tex
@ifnottex
Revised^5
@end ifnottex
-Report on the Algorithmic Language Scheme (usually known as @acronym{R5RS}),
-providing clean and general data and control structures. Guile goes
-beyond the rather austere language presented in @acronym{R5RS}, extending it with
-a module system, full access to @acronym{POSIX} system calls, networking support,
-multiple threads, dynamic linking, a foreign function call interface,
-powerful string processing, and many other features needed for
-programming in the real world.
+Report on the Algorithmic Language Scheme (usually known as
+@acronym{R5RS}), providing clean and general data and control
+structures. Guile goes beyond the rather austere language presented
+in @acronym{R5RS}, extending it with a module system, full access to
+@acronym{POSIX} system calls, networking support, multiple threads,
+dynamic linking, a foreign function call interface, powerful string
+processing, and many other features needed for programming in the real
+world.
+
+The Scheme community has recently agreed and published R6RS, the
+latest installment in the RnRS series. R6RS significantly expands the
+core Scheme language, and standardises many non-core functions that
+implementations -- including Guile -- have previously done in
+different ways. Guile has been updated to incorporate some of the
+features of R6RS, and to adjust some existing features to conform to
+the R6RS specification, but it is by no means a complete R6RS
+implementation.
+
+Between R5RS and R6RS, the SRFI process
+(@url{http://srfi.schemers.org/}) standardised interfaces for many
+practical needs, such as multithreading programming and
+multidimensional arrays. Guile supports many SRFIs, as documented in
+detail in @ref{SRFI Support}.
+
+In summary, so far as relationship to the Scheme standards is
+concerned, Guile is an R5RS implementation with many extensions, some
+of which conform to SRFIs or to the relevant parts of R6RS.
+
+@node Combining with C
+@section Combining with Other C Code
Like a shell, Guile can run interactively, reading expressions from the
user, evaluating them, and displaying the results, or as a script