guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-231-g0


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-10-231-g0f13fcd
Date: Tue, 01 Jun 2010 12:08:48 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=0f13fcde65d049c8acdef4da9563c1faf508dc4d

The branch, master has been updated
       via  0f13fcde65d049c8acdef4da9563c1faf508dc4d (commit)
       via  845cbcfeb92501f7e7ed176aec9fceecb732bb7d (commit)
      from  4c06cb2c2d0712b2c43e122b6d40508f33669707 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0f13fcde65d049c8acdef4da9563c1faf508dc4d
Author: Andy Wingo <address@hidden>
Date:   Tue Jun 1 14:11:14 2010 +0200

    small NEWS updates
    
    * NEWS: Some updates.

commit 845cbcfeb92501f7e7ed176aec9fceecb732bb7d
Author: Andy Wingo <address@hidden>
Date:   Tue Jun 1 14:10:59 2010 +0200

    r6rs docs in the manual
    
    * doc/ref/r6rs.texi (R6RS Support): Skeleton of docs on our R6RS
      support.
    
    * doc/ref/guile.texi:
    * doc/ref/Makefile.am: Add r6rs.texi.
    
    * doc/ref/intro.texi: Add a link to r6rs.texi.

-----------------------------------------------------------------------

Summary of changes:
 NEWS                |    4 +-
 doc/ref/Makefile.am |    1 +
 doc/ref/guile.texi  |    2 +
 doc/ref/intro.texi  |    2 +-
 doc/ref/r6rs.texi   |  131 +++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 137 insertions(+), 3 deletions(-)
 create mode 100644 doc/ref/r6rs.texi

diff --git a/NEWS b/NEWS
index 31fa2ee..367ccc0 100644
--- a/NEWS
+++ b/NEWS
@@ -18,7 +18,7 @@ Guile has incorporated Jim Bender's `sxml-match' library. See
 ** New module: (srfi srfi-9 gnu)
 
 This module adds an extension to srfi-9, `set-record-type-printer!'. See
-... in the manual for more information.
+"SRFI-9" in the manual for more information.
 
 ** Support for R6RS libraries
 
@@ -277,7 +277,7 @@ Changes in 1.9.x (since the 1.8.x series):
 
 ** `(srfi srfi-18)', more sophisticated multithreading support
 ** `(ice-9 i18n)', internationalization support
-** `(rnrs bytevector)', the R6RS bytevector API
+** `(rnrs bytevectors)', the R6RS bytevector API
 ** `(rnrs io ports)', a subset of the R6RS I/O port API
 ** `(system xref)', a cross-referencing facility (FIXME undocumented)
 ** `(ice-9 vlist)', lists with constant-time random access; hash lists
diff --git a/doc/ref/Makefile.am b/doc/ref/Makefile.am
index feadec6..f415eeb 100644
--- a/doc/ref/Makefile.am
+++ b/doc/ref/Makefile.am
@@ -69,6 +69,7 @@ guile_TEXINFOS = preface.texi                 \
                 data-rep.texi                  \
                 repl-modules.texi              \
                 srfi-modules.texi              \
+                r6rs.texi                      \
                 misc-modules.texi              \
                 api-compound.texi              \
                 autoconf.texi                  \
diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi
index 06bb9bf..29b6570 100644
--- a/doc/ref/guile.texi
+++ b/doc/ref/guile.texi
@@ -350,6 +350,7 @@ available through both Scheme and C interfaces.
 * POSIX::                       POSIX system calls and networking.
 * getopt-long::                 Command line handling.
 * SRFI Support::                Support for various SRFIs.
+* R6RS Support::                Modules defined by the R6RS.
 * Readline Support::            Module for using the readline library.
 * Value History::               Maintaining a value history in the REPL.
 * Pretty Printing::             Nicely formatting Scheme objects for output.
@@ -368,6 +369,7 @@ available through both Scheme and C interfaces.
 @include posix.texi
 @include mod-getopt-long.texi
 @include srfi-modules.texi
address@hidden r6rs.texi
 @include repl-modules.texi
 @include misc-modules.texi
 @include expect.texi
diff --git a/doc/ref/intro.texi b/doc/ref/intro.texi
index 94df98b..72025ab 100644
--- a/doc/ref/intro.texi
+++ b/doc/ref/intro.texi
@@ -78,7 +78,7 @@ 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.
+implementation. @xref{R6RS Support}.
 
 Between R5RS and R6RS, the SRFI process (@url{http://srfi.schemers.org/})
 standardised interfaces for many practical needs, such as multithreaded
diff --git a/doc/ref/r6rs.texi b/doc/ref/r6rs.texi
new file mode 100644
index 0000000..aee73c3
--- /dev/null
+++ b/doc/ref/r6rs.texi
@@ -0,0 +1,131 @@
address@hidden -*-texinfo-*-
address@hidden This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  2010
address@hidden   Free Software Foundation, Inc.
address@hidden See the file guile.texi for copying conditions.
+
address@hidden R6RS Support
address@hidden R6RS Support
address@hidden R6RS
+
address@hidden Libraries}, for more information on how to define R6RS 
libraries, and
+their integration with Guile modules.
+
address@hidden
+* R6RS Incompatibilities::              Guile mostly implements R6RS.
+* R6RS Standard Libraries::             Modules defined by the R6RS.
address@hidden menu
+
address@hidden R6RS Incompatibilities
address@hidden Incompatibilities with the R6RS
+
+There are some incompatibilities between Guile and the R6RS. Some of them are
+intentional, some of them are bugs, and some are simply unimplemented features.
+Please let the Guile developers know if you find one that is not on this list.
+
address@hidden
address@hidden
+In the R6RS, internal definitions expand to @code{letrec*}, not @code{letrec}.
+Guile does not support @code{letrec*}, though that would be nice.
+
address@hidden
+The R6RS specifies many situations in which a conforming implementation must
+signal a specific error. Guile doesn't really care about that too much -- if a
+correct R6RS program would not hit that error, we don't bother checking for it.
+
address@hidden
+Multiple @code{library} forms in one file are not yet supported. This is 
because
+the expansion of @code{library} sets the current module, but does not restore
+it. This is a bug.
address@hidden itemize
+
+
address@hidden R6RS Standard Libraries
address@hidden R6RS Standard Libraries
+
+The R6RS standard defines a core language and a number of standard libraries.
+Here we briefly list the libraries that have been implemented for Guile.
+
+All of these libraries are available as Guile modules, for use in standard 
Guile
+code, via @code{use-modules}, or for use in portable R6RS code, via the
address@hidden and @code{import} forms. @xref{R6RS Libraries}, for more
+information.
+
+We do not attempt to document these libraries fully here, as most of their
+functionality is already available in Guile itself. The expectation is that 
most
+Guile users will use the well-known and well-documented Guile modules. These
+R6RS libraries are mostly useful to users who want to port their code to other
+R6RS systems, in which case a copy of the R6RS report itself is necessary. It
+may be found at the R6RS web page, @url{http://r6rs.org/}.
+
+First, there is the base library, defined in the base R6RS report:
+
address@hidden
+(use-modules (rnrs base))
address@hidden example
+
+One may also import it to the current module using the R6RS @code{import} form:
+
address@hidden
+(import (rnrs base))
address@hidden example
+
+All of the @code{rnrs} modules have the version of @code{(6)}, which may be
+specified when importing the module:
+
address@hidden
+(import (rnrs base (6)))
+(use-modules ((rnrs base) #:version (6)))
address@hidden example
+
address@hidden Version References}, for more information on versions.
+
+Next there is a set of libraries that collectively form the @code{(rnrs)}
+composite library. The following statements are equivalent:
+
address@hidden
+(import (rnrs))
+
+(use-modules (rnrs))
+
+(import (rnrs arithmetic bitwise (6))
+        (rnrs arithmetic fixnums (6))
+        (rnrs arithmetic flonums (6))
+        (rnrs base (6))
+        (rnrs bytevectors)
+        (rnrs conditions (6))
+        (rnrs control (6))
+        (rnrs enums (6))
+        (rnrs exceptions (6))
+        (rnrs files (6))
+        (rnrs hashtables (6))
+        (rnrs io ports)
+        (rnrs io simple (6))
+        (rnrs lists (6))
+        (rnrs programs (6))
+        (rnrs records inspection (6))
+        (rnrs records procedural (6))
+        (rnrs records syntactic (6))
+        (rnrs sorting (6))
+        (rnrs syntax-case (6)))
address@hidden example
+
+Finally there are a number of modules that the @code{(rnrs)} module does not
+re-export:
+
address@hidden
+(import (rnrs mutable-pairs (6))
+        (rnrs mutable-strings (6))
+        (rnrs r5rs (6))
+        (rnrs eval (6))
+        (rnrs unicode (6)))
address@hidden example
+
+See the R6RS Standard Libraries specification, for more information on these
+modules.
+
address@hidden r6rs.texi ends here
+
address@hidden Local Variables:
address@hidden TeX-master: "guile.texi"
address@hidden End:


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]