[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-186-g4
From: |
Julian Graham |
Subject: |
[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-186-g43d6eb7 |
Date: |
Sat, 22 May 2010 22:21:23 +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=43d6eb75f305cbe0ed9ca65024e6f5da597282bf
The branch, master has been updated
via 43d6eb75f305cbe0ed9ca65024e6f5da597282bf (commit)
from 96640816c8e69aa6a8fa5cdfd773a4218ea40eb5 (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 43d6eb75f305cbe0ed9ca65024e6f5da597282bf
Author: Julian Graham <address@hidden>
Date: Sat May 22 18:20:00 2010 -0400
Edits for R6RS library implementation documentation, as suggested by
Ludovic Courtès.
* doc/ref/api-module.texi (R6RS Libraries): Wrap keywords variously in
@code and @dfn forms; rewrite pointer to implicit phasing paper; add
"Scheme Syntax" specification to @deffns.
-----------------------------------------------------------------------
Summary of changes:
doc/ref/api-modules.texi | 35 +++++++++++++++++------------------
1 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/doc/ref/api-modules.texi b/doc/ref/api-modules.texi
index 28656d7..a1aff34 100644
--- a/doc/ref/api-modules.texi
+++ b/doc/ref/api-modules.texi
@@ -783,15 +783,15 @@ expressions:
@subsection R6RS Libraries
In addition to the API described in the previous sections, you also
-have the option to create modules using the portable ``library'' form
+have the option to create modules using the portable @code{library} form
described in R6RS (@pxref{Library form, R6RS Library Form,, r6rs, The
Revised^6 Report on the Algorithmic Language Scheme}), and to import
libraries created in this format by other programmers. Guile's R6RS
-libraries implementation takes advantage of the flexibility built
-into the module system by expanding the R6RS library form into a
-corresponding Guile ``define-module'' form that specifies equivalent
-import and export requirements and includes the same body
-expressions. The library expression:
+library implementation takes advantage of the flexibility built into the
+module system by expanding the R6RS library form into a corresponding
+Guile @code{define-module} form that specifies equivalent import and
+export requirements and includes the same body expressions. The library
+expression:
@lisp
(library (mylib (1 2))
@@ -809,7 +809,7 @@ is equivalent to the module definition:
@end lisp
Central to the mechanics of R6RS libraries is the concept of import
-and export ``levels,'' which control the visibility of bindings at
+and export @dfn{levels}, which control the visibility of bindings at
various phases of a library's lifecycle --- macros necessary to
expand forms in the library's body need to be available at expand
time; variables used in the body of a procedure exported by the
@@ -819,15 +819,14 @@ as a mechanism by which a library author can indicate
that a
particular library import should take place at a particular phase
with respect to the lifecycle of the importing library.
-Guile's libraries implementation uses a technique called ``implicit
-phasing'' (see @cite{Implicit Phasing for R6RS Libraries} by
-Abdulaziz Ghuloum and R. Kent Dybvig), which allows the expander and
-compiler to automatically determine the necessary visibility of a
-binding imported from another library. As such, the @code{for}
-sub-form described below is ignored by Guile (but may be required by
-Schemes in which phasing is explicit).
+Guile's libraries implementation uses a technique called
address@hidden phasing} (first described by Abdulaziz Ghuloum and R.
+Kent Dybvig), which allows the expander and compiler to automatically
+determine the necessary visibility of a binding imported from another
+library. As such, the @code{for} sub-form described below is ignored by
+Guile (but may be required by Schemes in which phasing is explicit).
address@hidden syntax library name (export export-spec ...) (import import-spec
...) body ...
address@hidden {Scheme Syntax} library name (export export-spec ...) (import
import-spec ...) body ...
Defines a new library with the specified name, exports, and imports,
and evaluates the specified body expressions in this library's
environment.
@@ -843,7 +842,7 @@ identifier @var{internal-name} names a variable defined or
imported
by the library and @var{external-name} is the name by which the
variable is seen by importing libraries.
-Each @var{import-spec} must be either an ``import set'' (see below)
+Each @var{import-spec} must be either an @dfn{import set} (see below)
or must be of the form @code{(for import-set import-level ...)},
where each @var{import-level} is one of:
@@ -910,10 +909,10 @@ your libraries less portable to other Schemes.
@end deffn
address@hidden syntax import import-spec ...
address@hidden {Scheme Syntax} import import-spec ...
Import into the current environment the libraries specified by the
given import specifications, where each @var{import-spec} takes the
-same form as in the ``library'' form described above.
+same form as in the @code{library} form described above.
@end deffn
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, master, updated. release_1-9-10-186-g43d6eb7,
Julian Graham <=