Spelling errors reported by hyperdivision.
This commit is contained in:
parent
1cf1bb9513
commit
8c3fa3e53a
5 changed files with 16 additions and 16 deletions
|
|
@ -137,7 +137,7 @@ x
|
||||||
@comment The title is printed in a large font.
|
@comment The title is printed in a large font.
|
||||||
@title Guile Reference Manual
|
@title Guile Reference Manual
|
||||||
@subtitle Edition @value{MANUAL-EDITION}, for use with Guile @value{VERSION}
|
@subtitle Edition @value{MANUAL-EDITION}, for use with Guile @value{VERSION}
|
||||||
@c @subtitle $Id: guile.texi,v 1.43 2005-04-18 22:29:42 kryde Exp $
|
@c @subtitle $Id: guile.texi,v 1.44 2005-06-22 23:42:23 kryde Exp $
|
||||||
|
|
||||||
@c See preface.texi for the list of authors
|
@c See preface.texi for the list of authors
|
||||||
@author The Guile Developers
|
@author The Guile Developers
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ Scheme terms). You need to use @code{scm_is_eq} for this.
|
||||||
The one exception is that you can directly assign a @code{SCM} value to
|
The one exception is that you can directly assign a @code{SCM} value to
|
||||||
a @code{SCM} variable by using the C @code{=} operator.
|
a @code{SCM} variable by using the C @code{=} operator.
|
||||||
|
|
||||||
The following (contrieved) example shows how to do it right. It
|
The following (contrived) example shows how to do it right. It
|
||||||
implements a function of two arguments (@var{a} and @var{flag}) that
|
implements a function of two arguments (@var{a} and @var{flag}) that
|
||||||
returns @var{a}+1 if @var{flag} is true, else it returns @var{a}
|
returns @var{a}+1 if @var{flag} is true, else it returns @var{a}
|
||||||
unchanged.
|
unchanged.
|
||||||
|
|
@ -193,7 +193,7 @@ periodically free all blocks that have been allocated but are not used
|
||||||
by any active Scheme values. This activity is called @dfn{garbage
|
by any active Scheme values. This activity is called @dfn{garbage
|
||||||
collection}.
|
collection}.
|
||||||
|
|
||||||
It is easy for Guile to remember all blocks of memory that is has
|
It is easy for Guile to remember all blocks of memory that it has
|
||||||
allocated for use by Scheme values, but you need to help it with finding
|
allocated for use by Scheme values, but you need to help it with finding
|
||||||
all Scheme values that are in use by C code.
|
all Scheme values that are in use by C code.
|
||||||
|
|
||||||
|
|
@ -217,7 +217,7 @@ collector. This works because the collector scans the stack for
|
||||||
potential references to @code{SCM} objects and considers all referenced
|
potential references to @code{SCM} objects and considers all referenced
|
||||||
objects to be alive. The scanning considers each and every word of the
|
objects to be alive. The scanning considers each and every word of the
|
||||||
stack, regardless of what it is actually used for, and then decides
|
stack, regardless of what it is actually used for, and then decides
|
||||||
whether it could possible be a reference to a @code{SCM} object. Thus,
|
whether it could possibly be a reference to a @code{SCM} object. Thus,
|
||||||
the scanning is guaranteed to find all actual references, but it might
|
the scanning is guaranteed to find all actual references, but it might
|
||||||
also find words that only accidentally look like references. These
|
also find words that only accidentally look like references. These
|
||||||
`false positives' might keep @code{SCM} objects alive that would
|
`false positives' might keep @code{SCM} objects alive that would
|
||||||
|
|
@ -281,7 +281,7 @@ implemented by a function that calls itself, that is, by recursion.
|
||||||
|
|
||||||
This approach is theoretically very powerful since it is easier to
|
This approach is theoretically very powerful since it is easier to
|
||||||
reason formally about recursion than about gotos. In C, using
|
reason formally about recursion than about gotos. In C, using
|
||||||
recursion exclusively would not be practical, tho, since it would eat
|
recursion exclusively would not be practical, though, since it would eat
|
||||||
up the stack very quickly. In Scheme, however, it is practical:
|
up the stack very quickly. In Scheme, however, it is practical:
|
||||||
function calls that appear in a @dfn{tail position} do not use any
|
function calls that appear in a @dfn{tail position} do not use any
|
||||||
additional stack space (@pxref{Tail Calls}).
|
additional stack space (@pxref{Tail Calls}).
|
||||||
|
|
@ -291,7 +291,7 @@ calling function does. The value returned by the called function is
|
||||||
immediately returned from the calling function. In the following
|
immediately returned from the calling function. In the following
|
||||||
example, the call to @code{bar-1} is in a tail position, while the
|
example, the call to @code{bar-1} is in a tail position, while the
|
||||||
call to @code{bar-2} is not. (The call to @code{1-} in @code{foo-2}
|
call to @code{bar-2} is not. (The call to @code{1-} in @code{foo-2}
|
||||||
is in a tail position, tho.)
|
is in a tail position, though.)
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
(define (foo-1 x)
|
(define (foo-1 x)
|
||||||
|
|
@ -384,7 +384,7 @@ prefer to use the @dfn{frames} concept that is more natural for C code,
|
||||||
(@pxref{Frames}).
|
(@pxref{Frames}).
|
||||||
|
|
||||||
Instead of coping with non-local control flow, you can also prevent it
|
Instead of coping with non-local control flow, you can also prevent it
|
||||||
by errecting a @emph{continuation barrier}, @xref{Continuation
|
by erecting a @emph{continuation barrier}, @xref{Continuation
|
||||||
Barriers}. The function @code{scm_c_with_continuation_barrier}, for
|
Barriers}. The function @code{scm_c_with_continuation_barrier}, for
|
||||||
example, is guaranteed to return exactly once.
|
example, is guaranteed to return exactly once.
|
||||||
|
|
||||||
|
|
@ -541,7 +541,7 @@ fresh object that no other thread can possibly know about until it is
|
||||||
returned from @code{my_list_to_vector}.)
|
returned from @code{my_list_to_vector}.)
|
||||||
|
|
||||||
Of course the behavior of @code{my_list_to_vector} is suboptimal when
|
Of course the behavior of @code{my_list_to_vector} is suboptimal when
|
||||||
@var{list} does indeed gets asynchronously lengthened or shortened in
|
@var{list} does indeed get asynchronously lengthened or shortened in
|
||||||
another thread. But it is robust: it will always return a valid vector.
|
another thread. But it is robust: it will always return a valid vector.
|
||||||
That vector might be shorter than expected, or its last elements might
|
That vector might be shorter than expected, or its last elements might
|
||||||
be unspecified, but it is a valid vector and if a program wants to rule
|
be unspecified, but it is a valid vector and if a program wants to rule
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@c -*-texinfo-*-
|
@c -*-texinfo-*-
|
||||||
@c This is part of the GNU Guile Reference Manual.
|
@c This is part of the GNU Guile Reference Manual.
|
||||||
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004
|
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See the file guile.texi for copying conditions.
|
@c See the file guile.texi for copying conditions.
|
||||||
|
|
||||||
|
|
@ -86,7 +86,7 @@ For creating shared libraries portably, we recommend the use of
|
||||||
|
|
||||||
A shared library can be loaded into a running Guile process with the
|
A shared library can be loaded into a running Guile process with the
|
||||||
function @code{load-extension}. In addition to the name of the
|
function @code{load-extension}. In addition to the name of the
|
||||||
library to load, this function also expects the name of function from
|
library to load, this function also expects the name of a function from
|
||||||
that library that will be called to initialize it. For our example,
|
that library that will be called to initialize it. For our example,
|
||||||
we are going to call the function @code{init_bessel} which will make
|
we are going to call the function @code{init_bessel} which will make
|
||||||
@code{j0_wrapper} available to Scheme programs with the name
|
@code{j0_wrapper} available to Scheme programs with the name
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@c -*-texinfo-*-
|
@c -*-texinfo-*-
|
||||||
@c This is part of the GNU Guile Reference Manual.
|
@c This is part of the GNU Guile Reference Manual.
|
||||||
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004
|
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See the file guile.texi for copying conditions.
|
@c See the file guile.texi for copying conditions.
|
||||||
|
|
||||||
|
|
@ -121,7 +121,7 @@ automatically, making it much simpler and more portable; we recommend
|
||||||
using Autoconf with Guile. Guile also provides the @code{GUILE_FLAGS}
|
using Autoconf with Guile. Guile also provides the @code{GUILE_FLAGS}
|
||||||
macro for autoconf that performs all necessary checks. Here is a
|
macro for autoconf that performs all necessary checks. Here is a
|
||||||
@file{configure.in} file for @code{simple-guile} that uses this macro.
|
@file{configure.in} file for @code{simple-guile} that uses this macro.
|
||||||
Autoconf can use as this file as template to generate a @code{configure}
|
Autoconf can use this file as a template to generate a @code{configure}
|
||||||
script. In order for Autoconf to find the @code{GUILE_FLAGS} macro, you
|
script. In order for Autoconf to find the @code{GUILE_FLAGS} macro, you
|
||||||
will need to run @code{aclocal} first. This is not really Guile
|
will need to run @code{aclocal} first. This is not really Guile
|
||||||
specific, so you should refer to the Autoconf documentation REFFIXME
|
specific, so you should refer to the Autoconf documentation REFFIXME
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@c -*-texinfo-*-
|
@c -*-texinfo-*-
|
||||||
@c This is part of the GNU Guile Reference Manual.
|
@c This is part of the GNU Guile Reference Manual.
|
||||||
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004
|
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See the file guile.texi for copying conditions.
|
@c See the file guile.texi for copying conditions.
|
||||||
|
|
||||||
|
|
@ -96,9 +96,9 @@ type, and the call should be placed immediately following the call to
|
||||||
There can only be at most 256 different smob types in the system.
|
There can only be at most 256 different smob types in the system.
|
||||||
Instead of registering a huge number of smob types (for example, one
|
Instead of registering a huge number of smob types (for example, one
|
||||||
for each relevant C struct in your application), it is sometimes
|
for each relevant C struct in your application), it is sometimes
|
||||||
better to register just one and implement a second alyer of type
|
better to register just one and implement a second layer of type
|
||||||
dispatching on top of it. This second layer might use the 16 extra
|
dispatching on top of it. This second layer might use the 16 extra
|
||||||
bits for as an extended type, for example.
|
bits to extend its type, for example.
|
||||||
|
|
||||||
Here is how one might declare and register a new type representing
|
Here is how one might declare and register a new type representing
|
||||||
eight-bit gray-scale images:
|
eight-bit gray-scale images:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue