mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-31 17:30:24 +02:00
Spell check.
This commit is contained in:
parent
69e3f9386a
commit
7492b00e67
21 changed files with 111 additions and 110 deletions
|
@ -46,7 +46,7 @@
|
||||||
@c essay @sp 10
|
@c essay @sp 10
|
||||||
@c essay @comment The title is printed in a large font.
|
@c essay @comment The title is printed in a large font.
|
||||||
@c essay @title Data Representation in Guile
|
@c essay @title Data Representation in Guile
|
||||||
@c essay @subtitle $Id: data-rep.texi,v 1.1 2001-08-24 09:40:29 ossau Exp $
|
@c essay @subtitle $Id: data-rep.texi,v 1.1.2.2 2002-01-08 09:22:36 ttn Exp $
|
||||||
@c essay @subtitle For use with Guile @value{VERSION}
|
@c essay @subtitle For use with Guile @value{VERSION}
|
||||||
@c essay @author Jim Blandy
|
@c essay @author Jim Blandy
|
||||||
@c essay @author Free Software Foundation
|
@c essay @author Free Software Foundation
|
||||||
|
@ -396,7 +396,7 @@ references are necessary; it suffices to check the bottom two bits of
|
||||||
the @code{SCM} value. This may be significant when traversing lists, a
|
the @code{SCM} value. This may be significant when traversing lists, a
|
||||||
common activity in a Scheme system.
|
common activity in a Scheme system.
|
||||||
|
|
||||||
Again, most real Scheme systems use a slighty different implementation;
|
Again, most real Scheme systems use a slightly different implementation;
|
||||||
for example, if GET_PAIR subtracts off the low bits of @code{x}, instead
|
for example, if GET_PAIR subtracts off the low bits of @code{x}, instead
|
||||||
of masking them off, the optimizer will often be able to combine that
|
of masking them off, the optimizer will often be able to combine that
|
||||||
subtraction with the addition of the offset of the structure member we
|
subtraction with the addition of the offset of the structure member we
|
||||||
|
@ -564,7 +564,7 @@ The former class are called @dfn{immediates}. The class of immediates
|
||||||
includes small integers, characters, boolean values, the empty list, the
|
includes small integers, characters, boolean values, the empty list, the
|
||||||
mysterious end-of-file object, and some others.
|
mysterious end-of-file object, and some others.
|
||||||
|
|
||||||
The remaining types are called, not suprisingly, @dfn{non-immediates}.
|
The remaining types are called, not surprisingly, @dfn{non-immediates}.
|
||||||
They include pairs, procedures, strings, vectors, and all other data
|
They include pairs, procedures, strings, vectors, and all other data
|
||||||
types in Guile.
|
types in Guile.
|
||||||
|
|
||||||
|
@ -816,7 +816,7 @@ Allocate (``CONStruct'') a new pair, with @var{car} and @var{cdr} as its
|
||||||
contents.
|
contents.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
The macros below perform no typechecking. The results are undefined if
|
The macros below perform no type checking. The results are undefined if
|
||||||
@var{cell} is an immediate. However, since all non-immediate Guile
|
@var{cell} is an immediate. However, since all non-immediate Guile
|
||||||
objects are constructed from cells, and these macros simply return the
|
objects are constructed from cells, and these macros simply return the
|
||||||
first element of a cell, they actually can be useful on datatypes other
|
first element of a cell, they actually can be useful on datatypes other
|
||||||
|
@ -968,7 +968,7 @@ connected with the interpreter's implementation.
|
||||||
A subr is a pointer to a C function, packaged up as a Scheme object to
|
A subr is a pointer to a C function, packaged up as a Scheme object to
|
||||||
make it callable by Scheme code. In addition to the function pointer,
|
make it callable by Scheme code. In addition to the function pointer,
|
||||||
the subr also contains a pointer to the name of the function, and
|
the subr also contains a pointer to the name of the function, and
|
||||||
information about the number of arguments accepted by the C fuction, for
|
information about the number of arguments accepted by the C function, for
|
||||||
the sake of error checking.
|
the sake of error checking.
|
||||||
|
|
||||||
There is no single type predicate macro that recognizes subrs, as
|
There is no single type predicate macro that recognizes subrs, as
|
||||||
|
@ -1161,7 +1161,7 @@ If so, all of the type and value information can be determined from the
|
||||||
@node Non-immediate objects
|
@node Non-immediate objects
|
||||||
@subsubsection Non-immediate objects
|
@subsubsection Non-immediate objects
|
||||||
|
|
||||||
A Scheme object of type @code{SCM} that does not fullfill the
|
A Scheme object of type @code{SCM} that does not fulfill the
|
||||||
@code{SCM_IMP} predicate holds an encoded reference to a heap cell.
|
@code{SCM_IMP} predicate holds an encoded reference to a heap cell.
|
||||||
This reference can be decoded to a C pointer to a heap cell using the
|
This reference can be decoded to a C pointer to a heap cell using the
|
||||||
@code{SCM2PTR} macro. The encoding of a pointer to a heap cell into a
|
@code{SCM2PTR} macro. The encoding of a pointer to a heap cell into a
|
||||||
|
@ -1377,7 +1377,7 @@ datatypes described here.)
|
||||||
@menu
|
@menu
|
||||||
* Describing a New Type::
|
* Describing a New Type::
|
||||||
* Creating Instances::
|
* Creating Instances::
|
||||||
* Typechecking::
|
* Type checking::
|
||||||
* Garbage Collecting Smobs::
|
* Garbage Collecting Smobs::
|
||||||
* A Common Mistake In Allocating Smobs::
|
* A Common Mistake In Allocating Smobs::
|
||||||
* Garbage Collecting Simple Smobs::
|
* Garbage Collecting Simple Smobs::
|
||||||
|
@ -1402,7 +1402,7 @@ refers to. The default smob mark function is to not mark any data.
|
||||||
Guile will apply this function to each instance of the new type it could
|
Guile will apply this function to each instance of the new type it could
|
||||||
not find any live pointers to. The function should release all
|
not find any live pointers to. The function should release all
|
||||||
resources held by the object and return the number of bytes released.
|
resources held by the object and return the number of bytes released.
|
||||||
This is analagous to the Java finalization method-- it is invoked at an
|
This is analogous to the Java finalization method-- it is invoked at an
|
||||||
unspecified time (when garbage collection occurs) after the object is
|
unspecified time (when garbage collection occurs) after the object is
|
||||||
dead. The default free function frees the smob data (if the size of the
|
dead. The default free function frees the smob data (if the size of the
|
||||||
struct passed to @code{scm_make_smob_type} is non-zero) using
|
struct passed to @code{scm_make_smob_type} is non-zero) using
|
||||||
|
@ -1488,14 +1488,14 @@ This function invokes @code{scm_make_smob_type} on its first two arguments
|
||||||
to add a new smob type named @var{name}, with instance size @var{size} to the system.
|
to add a new smob type named @var{name}, with instance size @var{size} to the system.
|
||||||
It also registers the @var{mark}, @var{free}, @var{print}, @var{equalp} smob
|
It also registers the @var{mark}, @var{free}, @var{print}, @var{equalp} smob
|
||||||
special functions for that new type. Any of these parameters can be @code{NULL}
|
special functions for that new type. Any of these parameters can be @code{NULL}
|
||||||
to have that special function use the default behaviour for guile.
|
to have that special function use the default behavior for guile.
|
||||||
The return value is a tag that is used in creating instances of the type. If @var{size}
|
The return value is a tag that is used in creating instances of the type. If @var{size}
|
||||||
is 0, then no memory will be allocated when instances of the smob are created, and
|
is 0, then no memory will be allocated when instances of the smob are created, and
|
||||||
nothing will be freed by the default free function.
|
nothing will be freed by the default free function.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
For example, here is how one might declare and register a new type
|
For example, here is how one might declare and register a new type
|
||||||
representing eight-bit grayscale images:
|
representing eight-bit gray-scale images:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
#include <libguile.h>
|
#include <libguile.h>
|
||||||
|
@ -1635,8 +1635,8 @@ make_image (SCM name, SCM s_width, SCM s_height)
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
|
||||||
@node Typechecking
|
@node Type checking
|
||||||
@subsection Typechecking
|
@subsection Type checking
|
||||||
|
|
||||||
Functions that operate on smobs should aggressively check the types of
|
Functions that operate on smobs should aggressively check the types of
|
||||||
their arguments, to avoid misinterpreting some other datatype as a smob,
|
their arguments, to avoid misinterpreting some other datatype as a smob,
|
||||||
|
|
|
@ -151,7 +151,7 @@ This is the user's main program. It will be invoked by
|
||||||
|
|
||||||
Note that you can use @code{gh_repl} inside @code{gh_enter} (in other
|
Note that you can use @code{gh_repl} inside @code{gh_enter} (in other
|
||||||
words, inside the code for @code{main-prog}) if you want the program to
|
words, inside the code for @code{main-prog}) if you want the program to
|
||||||
be controled by a Scheme read-eval-print loop.
|
be controlled by a Scheme read-eval-print loop.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
@cindex read eval print loop -- from the gh_ interface
|
@cindex read eval print loop -- from the gh_ interface
|
||||||
|
@ -328,7 +328,7 @@ routine @code{(*fn)()}.
|
||||||
|
|
||||||
First of all the C routine has to return type @code{SCM}.
|
First of all the C routine has to return type @code{SCM}.
|
||||||
|
|
||||||
Second, all arguments passed to the C funcion will be of type
|
Second, all arguments passed to the C function will be of type
|
||||||
@code{SCM}.
|
@code{SCM}.
|
||||||
|
|
||||||
Third: the C routine is now subject to Scheme flow control, which means
|
Third: the C routine is now subject to Scheme flow control, which means
|
||||||
|
@ -342,7 +342,7 @@ Fourth: to get around the latter issue, you can use
|
||||||
|
|
||||||
@defmac GH_DEFER_INTS
|
@defmac GH_DEFER_INTS
|
||||||
@defmacx GH_ALLOW_INTS
|
@defmacx GH_ALLOW_INTS
|
||||||
These macros disable and reenable Scheme's flow control. They
|
These macros disable and re-enable Scheme's flow control. They
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
|
|
||||||
|
@ -725,7 +725,7 @@ These correspond to the Scheme @code{(make-vector n fill)},
|
||||||
value)} @code{(vector-length v)} @code{(list->vector ls)} procedures.
|
value)} @code{(vector-length v)} @code{(list->vector ls)} procedures.
|
||||||
|
|
||||||
The correspondence is not perfect for @code{gh_vector}: this routine
|
The correspondence is not perfect for @code{gh_vector}: this routine
|
||||||
taks a list @var{ls} instead of the individual list elements, thus
|
takes a list @var{ls} instead of the individual list elements, thus
|
||||||
making it identical to @code{gh_list_to_vector}.
|
making it identical to @code{gh_list_to_vector}.
|
||||||
|
|
||||||
There is also a difference in gh_vector_length: the value returned is a
|
There is also a difference in gh_vector_length: the value returned is a
|
||||||
|
@ -811,7 +811,7 @@ here.
|
||||||
|
|
||||||
Look up a symbol with a given name, and return the object to which
|
Look up a symbol with a given name, and return the object to which
|
||||||
it is bound. gh_lookup examines the Guile top level, and
|
it is bound. gh_lookup examines the Guile top level, and
|
||||||
gh_module_lookup checks the module namespace specified by the
|
gh_module_lookup checks the module name space specified by the
|
||||||
`vec' argument.
|
`vec' argument.
|
||||||
|
|
||||||
The return value is the Scheme object to which SNAME is bound, or
|
The return value is the Scheme object to which SNAME is bound, or
|
||||||
|
@ -851,7 +851,7 @@ If you are using libtool to link your executables, just use
|
||||||
@code{-lguile} in your link command. Libtool will expand this into
|
@code{-lguile} in your link command. Libtool will expand this into
|
||||||
the needed linker options automatically. If you are not using
|
the needed linker options automatically. If you are not using
|
||||||
libtool, use the @code{guile-config} program to query the needed
|
libtool, use the @code{guile-config} program to query the needed
|
||||||
options explicitely. A linker command like
|
options explicitly. A linker command like
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
$(CC) -o prog prog.o `guile-config link`
|
$(CC) -o prog prog.o `guile-config link`
|
||||||
|
|
|
@ -80,7 +80,7 @@ by the Free Software Foundation.
|
||||||
@sp 10
|
@sp 10
|
||||||
@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 $Id: guile.texi,v 1.2.2.6 2002-01-03 00:16:03 ttn Exp $
|
@subtitle $Id: guile.texi,v 1.2.2.7 2002-01-08 09:22:36 ttn Exp $
|
||||||
@subtitle For use with Guile @value{VERSION}
|
@subtitle For use with Guile @value{VERSION}
|
||||||
|
|
||||||
@c AUTHORS
|
@c AUTHORS
|
||||||
|
@ -91,7 +91,7 @@ by the Free Software Foundation.
|
||||||
@c accessing Guile objects.
|
@c accessing Guile objects.
|
||||||
|
|
||||||
@c Significant portions were contributed by Gary Houston (contributions
|
@c Significant portions were contributed by Gary Houston (contributions
|
||||||
@c to posix system calls and networking, expect, I/O internals and
|
@c to POSIX system calls and networking, expect, I/O internals and
|
||||||
@c extensions, slib installation, error handling) and Tim Pierce
|
@c extensions, slib installation, error handling) and Tim Pierce
|
||||||
@c (sections on script interpreter triggers, alists, function tracing).
|
@c (sections on script interpreter triggers, alists, function tracing).
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
@c $Id: intro.texi,v 1.1.2.3 2002-01-07 20:49:03 ossau Exp $
|
@c $Id: intro.texi,v 1.1.2.4 2002-01-08 09:22:36 ttn Exp $
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@node What is Guile?
|
@node What is Guile?
|
||||||
|
@ -682,7 +682,7 @@ the host platform will be provided automatically.
|
||||||
For this to work, @code{load-extension} must be able to find
|
For this to work, @code{load-extension} must be able to find
|
||||||
@file{libguile-bessel}, of course. It will look in the places that
|
@file{libguile-bessel}, of course. It will look in the places that
|
||||||
are usual for your operating system, and it will additionally look
|
are usual for your operating system, and it will additionally look
|
||||||
into the directories listed in the @code{LTDL_LIBRRAY_PATH}
|
into the directories listed in the @code{LTDL_LIBRARY_PATH}
|
||||||
environment variable.
|
environment variable.
|
||||||
|
|
||||||
To see how these Guile extensions via shared libraries relate to the
|
To see how these Guile extensions via shared libraries relate to the
|
||||||
|
|
|
@ -139,7 +139,7 @@ Output a page separator (formfeed) character.
|
||||||
Advance to the next tabulator position.
|
Advance to the next tabulator position.
|
||||||
|
|
||||||
@item ~y
|
@item ~y
|
||||||
Pretty-print the correspinding @var{arg}.
|
Pretty-print the corresponding @var{arg}.
|
||||||
|
|
||||||
@item ~a
|
@item ~a
|
||||||
Output the corresponding @var{arg} like @code{display}.
|
Output the corresponding @var{arg} like @code{display}.
|
||||||
|
@ -162,7 +162,7 @@ Output the corresponding @var{arg} as a binary number.
|
||||||
@item ~r
|
@item ~r
|
||||||
Output the corresponding @var{arg} as a number word, e.g. 10 prints as
|
Output the corresponding @var{arg} as a number word, e.g. 10 prints as
|
||||||
@code{ten}. If prefixed with @code{:}, @code{tenth} is printed, if
|
@code{ten}. If prefixed with @code{:}, @code{tenth} is printed, if
|
||||||
prefixed with @code{:@@}, roman numbers are printed.
|
prefixed with @code{:@@}, Roman numbers are printed.
|
||||||
|
|
||||||
@item ~f
|
@item ~f
|
||||||
Output the corresponding @var{arg} as a fixed format floating point
|
Output the corresponding @var{arg} as a fixed format floating point
|
||||||
|
|
|
@ -291,7 +291,7 @@ Change the signature of export environment @var{env}.
|
||||||
@deffn primitive %compute-slots class
|
@deffn primitive %compute-slots class
|
||||||
Return a list consisting of the names of all slots belonging to
|
Return a list consisting of the names of all slots belonging to
|
||||||
class @var{class}, i. e. the slots of @var{class} and of all of
|
class @var{class}, i. e. the slots of @var{class} and of all of
|
||||||
its superclasses.
|
its super-classes.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive get-keyword key l default_value
|
@deffn primitive get-keyword key l default_value
|
||||||
|
@ -426,7 +426,7 @@ Return specializers of the method @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive method-generic-function obj
|
@deffn primitive method-generic-function obj
|
||||||
Return the generic function fot the method @var{obj}.
|
Return the generic function for the method @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive generic-function-methods obj
|
@deffn primitive generic-function-methods obj
|
||||||
|
@ -462,7 +462,7 @@ Return the direct slots of the class @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-direct-supers obj
|
@deffn primitive class-direct-supers obj
|
||||||
Return the direct superclasses of the class @var{obj}.
|
Return the direct super-classes of the class @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-name obj
|
@deffn primitive class-name obj
|
||||||
|
|
|
@ -46,7 +46,7 @@ facility.
|
||||||
@item
|
@item
|
||||||
Underscores in Unix procedure names are converted to hyphens.
|
Underscores in Unix procedure names are converted to hyphens.
|
||||||
@item
|
@item
|
||||||
Procedures which destructively modify Scheme data have exclaimation
|
Procedures which destructively modify Scheme data have exclamation
|
||||||
marks appended, e.g., @code{recv!}.
|
marks appended, e.g., @code{recv!}.
|
||||||
@item
|
@item
|
||||||
Predicates (returning only @code{#t} or @code{#f}) have question marks
|
Predicates (returning only @code{#t} or @code{#f}) have question marks
|
||||||
|
@ -116,7 +116,7 @@ environment.
|
||||||
|
|
||||||
A file descriptor can be extracted from a port and a new port can be
|
A file descriptor can be extracted from a port and a new port can be
|
||||||
created from a file descriptor. However a file descriptor is just an
|
created from a file descriptor. However a file descriptor is just an
|
||||||
integer and the garbage collector doesn't recognise it as a reference
|
integer and the garbage collector doesn't recognize it as a reference
|
||||||
to the port. If all other references to the port were dropped, then
|
to the port. If all other references to the port were dropped, then
|
||||||
it's likely that the garbage collector would free the port, with the
|
it's likely that the garbage collector would free the port, with the
|
||||||
side-effect of closing the file descriptor prematurely.
|
side-effect of closing the file descriptor prematurely.
|
||||||
|
@ -125,7 +125,7 @@ To assist the programmer in avoiding this problem, each port has an
|
||||||
associated "revealed count" which can be used to keep track of how many
|
associated "revealed count" which can be used to keep track of how many
|
||||||
times the underlying file descriptor has been stored in other places.
|
times the underlying file descriptor has been stored in other places.
|
||||||
If a port's revealed count is greater than zero, the file descriptor
|
If a port's revealed count is greater than zero, the file descriptor
|
||||||
will not be closed when the port is gabage collected. A programmer
|
will not be closed when the port is garbage collected. A programmer
|
||||||
can therefore ensure that the revealed count will be greater than
|
can therefore ensure that the revealed count will be greater than
|
||||||
zero if the file descriptor is needed elsewhere.
|
zero if the file descriptor is needed elsewhere.
|
||||||
|
|
||||||
|
@ -384,7 +384,7 @@ used only during port creation are not retained.
|
||||||
except for those supplied as arguments. This procedure
|
except for those supplied as arguments. This procedure
|
||||||
was intended to be used before an exec call to close file descriptors
|
was intended to be used before an exec call to close file descriptors
|
||||||
which are not needed in the new process. However it has the
|
which are not needed in the new process. However it has the
|
||||||
undesirable side-effect of flushing buffes, so it's deprecated.
|
undesirable side-effect of flushing buffers, so it's deprecated.
|
||||||
Use port-for-each instead.
|
Use port-for-each instead.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -455,12 +455,12 @@ Don't block when locking. May be specified by bitwise OR'ing
|
||||||
it to one of the other operations.
|
it to one of the other operations.
|
||||||
@end table
|
@end table
|
||||||
The return value is not specified. @var{file} may be an open
|
The return value is not specified. @var{file} may be an open
|
||||||
file descriptor or an open file descriptior port.
|
file descriptor or an open file descriptor port.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive select reads writes excepts [secs [usecs]]
|
@deffn primitive select reads writes excepts [secs [usecs]]
|
||||||
This procedure has a variety of uses: waiting for the ability
|
This procedure has a variety of uses: waiting for the ability
|
||||||
to provide input, accept output, or the existance of
|
to provide input, accept output, or the existence of
|
||||||
exceptional conditions on a collection of ports or file
|
exceptional conditions on a collection of ports or file
|
||||||
descriptors, or waiting for a timeout to occur.
|
descriptors, or waiting for a timeout to occur.
|
||||||
It also returns if interrupted by a signal.
|
It also returns if interrupted by a signal.
|
||||||
|
@ -751,7 +751,7 @@ component, @code{.} is returned.
|
||||||
@deffn primitive basename filename [suffix]
|
@deffn primitive basename filename [suffix]
|
||||||
Return the base name of the file name @var{filename}. The
|
Return the base name of the file name @var{filename}. The
|
||||||
base name is the file name without any directory components.
|
base name is the file name without any directory components.
|
||||||
If @var{suffix} is privided, and is equal to the end of
|
If @var{suffix} is provided, and is equal to the end of
|
||||||
@var{basename}, it is removed also.
|
@var{basename}, it is removed also.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -829,11 +829,11 @@ The encrypted group password.
|
||||||
@item group:gid
|
@item group:gid
|
||||||
The group id number.
|
The group id number.
|
||||||
@item group:mem
|
@item group:mem
|
||||||
A list of userids which have this group as a supplimentary group.
|
A list of userids which have this group as a supplementary group.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@deffn procedure getgrgid gid
|
@deffn procedure getgrgid gid
|
||||||
Look up an integer groupid in the group database.
|
Look up an integer group id in the group database.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure getgrnam name
|
@deffn procedure getgrnam name
|
||||||
|
@ -1095,7 +1095,7 @@ Return the name of the current working directory.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive umask [mode]
|
@deffn primitive umask [mode]
|
||||||
If @var{mode} is omitted, retuns a decimal number representing the current
|
If @var{mode} is omitted, returns a decimal number representing the current
|
||||||
file creation mask. Otherwise the file creation mask is set to
|
file creation mask. Otherwise the file creation mask is set to
|
||||||
@var{mode} and the previous value is returned.
|
@var{mode} and the previous value is returned.
|
||||||
|
|
||||||
|
@ -1116,7 +1116,7 @@ Return an integer representing the current process ID.
|
||||||
|
|
||||||
@deffn primitive getgroups
|
@deffn primitive getgroups
|
||||||
Return a vector of integers representing the current
|
Return a vector of integers representing the current
|
||||||
supplimentary group IDs.
|
supplementary group IDs.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive getppid
|
@deffn primitive getppid
|
||||||
|
@ -1278,7 +1278,7 @@ is @var{status} if supplied, otherwise zero.
|
||||||
@deffn primitive execl filename . args
|
@deffn primitive execl filename . args
|
||||||
Executes the file named by @var{path} as a new process image.
|
Executes the file named by @var{path} as a new process image.
|
||||||
The remaining arguments are supplied to the process; from a C program
|
The remaining arguments are supplied to the process; from a C program
|
||||||
they are accessable as the @code{argv} argument to @code{main}.
|
they are accessible as the @code{argv} argument to @code{main}.
|
||||||
Conventionally the first @var{arg} is the same as @var{path}.
|
Conventionally the first @var{arg} is the same as @var{path}.
|
||||||
All arguments must be strings.
|
All arguments must be strings.
|
||||||
|
|
||||||
|
@ -1964,7 +1964,7 @@ The return value is unspecified.
|
||||||
|
|
||||||
@deffn primitive shutdown sock how
|
@deffn primitive shutdown sock how
|
||||||
Sockets can be closed simply by using @code{close-port}. The
|
Sockets can be closed simply by using @code{close-port}. The
|
||||||
@code{shutdown} procedure allows reception or tranmission on a
|
@code{shutdown} procedure allows reception or transmission on a
|
||||||
connection to be shut down individually, according to the parameter
|
connection to be shut down individually, according to the parameter
|
||||||
@var{how}:
|
@var{how}:
|
||||||
|
|
||||||
|
@ -2101,14 +2101,14 @@ number.
|
||||||
@deffn primitive getsockname sock
|
@deffn primitive getsockname sock
|
||||||
Return the address of @var{sock}, in the same form as the
|
Return the address of @var{sock}, in the same form as the
|
||||||
object returned by @code{accept}. On many systems the address
|
object returned by @code{accept}. On many systems the address
|
||||||
of a socket in the @code{AF_FILE} namespace cannot be read.
|
of a socket in the @code{AF_FILE} name space cannot be read.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive getpeername sock
|
@deffn primitive getpeername sock
|
||||||
Return the address that @var{sock}
|
Return the address that @var{sock}
|
||||||
is connected to, in the same form as the object returned by
|
is connected to, in the same form as the object returned by
|
||||||
@code{accept}. On many systems the address of a socket in the
|
@code{accept}. On many systems the address of a socket in the
|
||||||
@code{AF_FILE} namespace cannot be read.
|
@code{AF_FILE} name space cannot be read.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive recv! sock buf [flags]
|
@deffn primitive recv! sock buf [flags]
|
||||||
|
@ -2305,7 +2305,7 @@ specified locale category as a system-dependent string.
|
||||||
Otherwise the specified locale category is set to the string
|
Otherwise the specified locale category is set to the string
|
||||||
@var{locale} and the new value is returned as a
|
@var{locale} and the new value is returned as a
|
||||||
system-dependent string. If @var{locale} is an empty string,
|
system-dependent string. If @var{locale} is an empty string,
|
||||||
the locale will be set using envirionment variables.
|
the locale will be set using environment variables.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node Encryption
|
@node Encryption
|
||||||
|
|
|
@ -38,13 +38,13 @@ module often, you should save these to lines to your @file{.guile}
|
||||||
personal startup file.
|
personal startup file.
|
||||||
|
|
||||||
You will notice that the REPL's behaviour changes a bit when you have
|
You will notice that the REPL's behaviour changes a bit when you have
|
||||||
loaded the readline module. For examle, when you press Enter before
|
loaded the readline module. For example, when you press Enter before
|
||||||
typing in the closing parentheses of a list, you will see the
|
typing in the closing parentheses of a list, you will see the
|
||||||
@dfn{continuation} prompt, three dots: @code{...} This gives you a nice
|
@dfn{continuation} prompt, three dots: @code{...} This gives you a nice
|
||||||
visual feedback when trying to match parentheses. To make this even
|
visual feedback when trying to match parentheses. To make this even
|
||||||
easier, @dfn{bouncing parentheses} are implemented. That means that
|
easier, @dfn{bouncing parentheses} are implemented. That means that
|
||||||
when you type in a closing parentheses, the cursor will jump to the
|
when you type in a closing parentheses, the cursor will jump to the
|
||||||
corresponding opening paren for a short time, making it trivial to make
|
corresponding opening parenthesis for a short time, making it trivial to make
|
||||||
them match.
|
them match.
|
||||||
|
|
||||||
Once the readline module is activated, all lines entered interactively
|
Once the readline module is activated, all lines entered interactively
|
||||||
|
|
|
@ -183,7 +183,7 @@ Here the enclosing form is a @code{let}, so the @code{define}s in the
|
||||||
internal definitions is the @strong{complete} body of the
|
internal definitions is the @strong{complete} body of the
|
||||||
@code{let}-expression, the @code{lambda}-expression which gets bound
|
@code{let}-expression, the @code{lambda}-expression which gets bound
|
||||||
to the variable @code{banana} may refer to the variable @code{apple},
|
to the variable @code{banana} may refer to the variable @code{apple},
|
||||||
even thogh it's definition appears lexically @emph{after} the definition
|
even though it's definition appears lexically @emph{after} the definition
|
||||||
of @code{banana}. This is because a sequence of internal definition
|
of @code{banana}. This is because a sequence of internal definition
|
||||||
acts as if it were a @code{letrec} expression.
|
acts as if it were a @code{letrec} expression.
|
||||||
|
|
||||||
|
@ -226,7 +226,7 @@ with duplicate bindings.
|
||||||
@node Binding Reflection
|
@node Binding Reflection
|
||||||
@section Querying variable bindings
|
@section Querying variable bindings
|
||||||
|
|
||||||
Guile provides a procedure for checking wehther a symbol is bound in the
|
Guile provides a procedure for checking whether a symbol is bound in the
|
||||||
top level environment. If you want to test whether a symbol is locally
|
top level environment. If you want to test whether a symbol is locally
|
||||||
bound in expression, you can use the @code{bound?} macro from the module
|
bound in expression, you can use the @code{bound?} macro from the module
|
||||||
@code{(ice-9 optargs)}, documented in @ref{Optional Arguments}.
|
@code{(ice-9 optargs)}, documented in @ref{Optional Arguments}.
|
||||||
|
|
|
@ -70,7 +70,7 @@ values.
|
||||||
@deffn syntax if test consequent [alternate]
|
@deffn syntax if test consequent [alternate]
|
||||||
All arguments may be arbitrary expressions. First, @var{test} is
|
All arguments may be arbitrary expressions. First, @var{test} is
|
||||||
evaluated. If it returns a true value, the expression @var{consequent}
|
evaluated. If it returns a true value, the expression @var{consequent}
|
||||||
is evaluated and @var{alternate} is ignoret. If @var{test} evaluates to
|
is evaluated and @var{alternate} is ignored. If @var{test} evaluates to
|
||||||
@code{#f}, @var{alternate} is evaluated instead. The value of the
|
@code{#f}, @var{alternate} is evaluated instead. The value of the
|
||||||
evaluated branch (@var{consequent} or @var{alternate}) is returned as
|
evaluated branch (@var{consequent} or @var{alternate}) is returned as
|
||||||
the value of the @code{if} expression.
|
the value of the @code{if} expression.
|
||||||
|
@ -122,7 +122,7 @@ and the last @var{clause} may have the form
|
||||||
|
|
||||||
All @var{datum}s must be distinct. First, @var{key} is evaluated. The
|
All @var{datum}s must be distinct. First, @var{key} is evaluated. The
|
||||||
the result of this evaluation is compared against all @var{datum}s using
|
the result of this evaluation is compared against all @var{datum}s using
|
||||||
@code{eqv?}. When this comparison succeeds, the epression(s) following
|
@code{eqv?}. When this comparison succeeds, the expression(s) following
|
||||||
the @var{datum} are evaluated from left to right, returning the value of
|
the @var{datum} are evaluated from left to right, returning the value of
|
||||||
the last expression as the result of the @code{case} expression.
|
the last expression as the result of the @code{case} expression.
|
||||||
|
|
||||||
|
@ -312,7 +312,7 @@ Scheme allows a procedure to return more than one value to its caller.
|
||||||
This is quite different to other languages which only allow
|
This is quite different to other languages which only allow
|
||||||
single-value returns. Returning multiple values is different from
|
single-value returns. Returning multiple values is different from
|
||||||
returning a list (or pair or vector) of values to the caller, because
|
returning a list (or pair or vector) of values to the caller, because
|
||||||
conceptionally not @emph{one} compound object is returned, but several
|
conceptually not @emph{one} compound object is returned, but several
|
||||||
distinct values.
|
distinct values.
|
||||||
|
|
||||||
The primitive procedures for handling multiple values are @code{values}
|
The primitive procedures for handling multiple values are @code{values}
|
||||||
|
|
|
@ -21,7 +21,7 @@ constitute Guile's support for dynamic linking, in the context of the
|
||||||
module system.
|
module system.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
The contents of this chapter are, therefore, a matter of judgement. By
|
The contents of this chapter are, therefore, a matter of judgment. By
|
||||||
``generic use'', we mean to select those data types whose typical use as
|
``generic use'', we mean to select those data types whose typical use as
|
||||||
@emph{data} in a wide variety of programming contexts is more important
|
@emph{data} in a wide variety of programming contexts is more important
|
||||||
than their use in the implementation of a particular piece of
|
than their use in the implementation of a particular piece of
|
||||||
|
@ -722,7 +722,7 @@ Return the maximum of all parameter values.
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "min")
|
@c begin (texi-doc-string "guile" "min")
|
||||||
@deffn primitive min x1 x2 @dots{}
|
@deffn primitive min x1 x2 @dots{}
|
||||||
Return the minium of all parameter values.
|
Return the minmium of all parameter values.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "truncate")
|
@c begin (texi-doc-string "guile" "truncate")
|
||||||
|
@ -1054,7 +1054,7 @@ representation are counted. If 0, 0 is returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive integer-length n
|
@deffn primitive integer-length n
|
||||||
Return the number of bits neccessary to represent @var{n}.
|
Return the number of bits necessary to represent @var{n}.
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
(integer-length #b10101010)
|
(integer-length #b10101010)
|
||||||
|
@ -1366,7 +1366,7 @@ like in C. That means that Scheme strings can contain any character,
|
||||||
even the NUL character @code{'\0'}. But note: Since most operating
|
even the NUL character @code{'\0'}. But note: Since most operating
|
||||||
system calls dealing with strings (such as for file operations) expect
|
system calls dealing with strings (such as for file operations) expect
|
||||||
strings to be zero-terminated, they might do unexpected things when
|
strings to be zero-terminated, they might do unexpected things when
|
||||||
called with string containing unusal characters.
|
called with string containing unusual characters.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* String Syntax:: Read syntax for strings.
|
* String Syntax:: Read syntax for strings.
|
||||||
|
@ -1787,7 +1787,8 @@ installation includes regular expression support by checking whether the
|
||||||
@menu
|
@menu
|
||||||
* Regexp Functions:: Functions that create and match regexps.
|
* Regexp Functions:: Functions that create and match regexps.
|
||||||
* Match Structures:: Finding what was matched by a regexp.
|
* Match Structures:: Finding what was matched by a regexp.
|
||||||
* Backslash Escapes:: Removing the special meaning of regexp metacharacters.
|
* Backslash Escapes:: Removing the special meaning of regexp
|
||||||
|
meta-characters.
|
||||||
* Rx Interface:: Tom Lord's Rx library does things differently.
|
* Rx Interface:: Tom Lord's Rx library does things differently.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
@ -2559,10 +2560,10 @@ example:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
colour depth -- Default: the colour depth for the screen
|
color depth -- Default: the color depth for the screen
|
||||||
|
|
||||||
@item
|
@item
|
||||||
background colour -- Default: white
|
background color -- Default: white
|
||||||
|
|
||||||
@item
|
@item
|
||||||
width -- Default: 600
|
width -- Default: 600
|
||||||
|
@ -2577,8 +2578,8 @@ argument order and using a special value to indicate the default value
|
||||||
for that argument:
|
for that argument:
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
(make-window 'default ;; Colour depth
|
(make-window 'default ;; Color depth
|
||||||
'default ;; Background colour
|
'default ;; Background color
|
||||||
800 ;; Width
|
800 ;; Width
|
||||||
100 ;; Height
|
100 ;; Height
|
||||||
@dots{}) ;; More make-window arguments
|
@dots{}) ;; More make-window arguments
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
@deffn primitive display-error stack port subr message args rest
|
@deffn primitive display-error stack port subr message args rest
|
||||||
Display an error message to the output port @var{port}.
|
Display an error message to the output port @var{port}.
|
||||||
@var{stack} is the saved stack for the error, @var{subr} is
|
@var{stack} is the saved stack for the error, @var{subr} is
|
||||||
the name of the procedure in which the error occured and
|
the name of the procedure in which the error occurred and
|
||||||
@var{message} is the actual error message, which may contain
|
@var{message} is the actual error message, which may contain
|
||||||
formatting instructions. These will format the arguments in
|
formatting instructions. These will format the arguments in
|
||||||
the list @var{args} accordingly. @var{rest} is currently
|
the list @var{args} accordingly. @var{rest} is currently
|
||||||
|
|
|
@ -42,7 +42,7 @@ variable.
|
||||||
@node Latent Typing
|
@node Latent Typing
|
||||||
@subsection Latent Typing
|
@subsection Latent Typing
|
||||||
|
|
||||||
The term @dfn{latent typing} is used to descibe a computer language,
|
The term @dfn{latent typing} is used to describe a computer language,
|
||||||
such as Scheme, for which you cannot, @emph{in general}, simply look at
|
such as Scheme, for which you cannot, @emph{in general}, simply look at
|
||||||
a program's source code and determine what type of data will be
|
a program's source code and determine what type of data will be
|
||||||
associated with a particular variable, or with the result of a
|
associated with a particular variable, or with the result of a
|
||||||
|
@ -1155,7 +1155,7 @@ and susceptible to interrupts that could leave the
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
The key point here is that the code does not create any local binding
|
The key point here is that the code does not create any local binding
|
||||||
for the identifier @code{currency-abbreviation}, so all occurences of
|
for the identifier @code{currency-abbreviation}, so all occurrences of
|
||||||
this identifier refer to the top level variable.
|
this identifier refer to the top level variable.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ Weak references let you attach bookkeeping information to data so that
|
||||||
the additional information automatically disappears when the original
|
the additional information automatically disappears when the original
|
||||||
data is no longer in use and gets garbage collected. In a weak key hash,
|
data is no longer in use and gets garbage collected. In a weak key hash,
|
||||||
the hash entry for that key disappears as soon as the key is no longer
|
the hash entry for that key disappears as soon as the key is no longer
|
||||||
referneced from anywhere else. For weak value hashes, the same happens
|
referenced from anywhere else. For weak value hashes, the same happens
|
||||||
as soon as the value is no longer in use. Entries in a doubly weak hash
|
as soon as the value is no longer in use. Entries in a doubly weak hash
|
||||||
disappear when either the key or the value are not used anywhere else
|
disappear when either the key or the value are not used anywhere else
|
||||||
anymore.
|
anymore.
|
||||||
|
|
|
@ -441,7 +441,7 @@ library SLIB from Guile (@pxref{SLIB}).
|
||||||
@c from here?
|
@c from here?
|
||||||
@item (ice-9 jacal)
|
@item (ice-9 jacal)
|
||||||
This module contains hooks for using Aubrey Jaffer's symbolic math
|
This module contains hooks for using Aubrey Jaffer's symbolic math
|
||||||
packge Jacal from Guile (@pxref{JACAL}).
|
package Jacal from Guile (@pxref{JACAL}).
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
|
||||||
|
@ -491,7 +491,7 @@ integrates dynamically linked libraries into the module system.
|
||||||
@subsection Low level dynamic linking
|
@subsection Low level dynamic linking
|
||||||
|
|
||||||
When using the low level procedures to do your dynamic linking, you have
|
When using the low level procedures to do your dynamic linking, you have
|
||||||
complete control over which library is loaded when and what get's done
|
complete control over which library is loaded when and what gets done
|
||||||
with it.
|
with it.
|
||||||
|
|
||||||
@deffn primitive dynamic-link library
|
@deffn primitive dynamic-link library
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
@menu
|
@menu
|
||||||
* Lambda:: Basic procedure creation using lambda.
|
* Lambda:: Basic procedure creation using lambda.
|
||||||
* Optional Arguments:: Handling keyword, optional and rest arguments.
|
* Optional Arguments:: Handling keyword, optional and rest arguments.
|
||||||
* Procedure Properties:: Procedure properties and metainformation.
|
* Procedure Properties:: Procedure properties and meta-information.
|
||||||
* Procedures with Setters:: Procedures with setters.
|
* Procedures with Setters:: Procedures with setters.
|
||||||
* Macros:: Lisp style macro definitions.
|
* Macros:: Lisp style macro definitions.
|
||||||
* Syntax Rules:: Support for R5RS @code{syntax-rules}.
|
* Syntax Rules:: Support for R5RS @code{syntax-rules}.
|
||||||
|
@ -66,7 +66,7 @@ called, the sequence of actual arguments will converted into a list and
|
||||||
stored into the newly created location for the formal variable.
|
stored into the newly created location for the formal variable.
|
||||||
@item (@var{variable1} @dots{} @var{variablen} . @var{variablen+1})
|
@item (@var{variable1} @dots{} @var{variablen} . @var{variablen+1})
|
||||||
If a space-delimited period precedes the last variable, then the
|
If a space-delimited period precedes the last variable, then the
|
||||||
procedure takes @var{n} or more variablesm where @var{n} is the number
|
procedure takes @var{n} or more variables where @var{n} is the number
|
||||||
of formal arguments before the period. There must be at least one
|
of formal arguments before the period. There must be at least one
|
||||||
argument before the period. The first @var{n} actual arguments will be
|
argument before the period. The first @var{n} actual arguments will be
|
||||||
stored into the newly allocated locations for the first @var{n} formal
|
stored into the newly allocated locations for the first @var{n} formal
|
||||||
|
@ -196,13 +196,13 @@ ext-var-decl ::= identifier | ( identifier expression )
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
The characters `*', `+' and `?' are not to be taken literally; they mean
|
The characters `*', `+' and `?' are not to be taken literally; they mean
|
||||||
respectively, zero or more occurences, one or more occurences, and one
|
respectively, zero or more occurrences, one or more occurrences, and one
|
||||||
or zero occurences.
|
or zero occurrences.
|
||||||
|
|
||||||
@deffn {library syntax} lambda* formals body
|
@deffn {library syntax} lambda* formals body
|
||||||
@code{lambda*} creates a procedure that takes optional arguments. These
|
@code{lambda*} creates a procedure that takes optional arguments. These
|
||||||
are specified by putting them inside brackets at the end of the
|
are specified by putting them inside brackets at the end of the
|
||||||
paramater list, but before any dotted rest argument. For example,
|
parameter list, but before any dotted rest argument. For example,
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
(lambda* (a b #:optional c d . e) '())
|
(lambda* (a b #:optional c d . e) '())
|
||||||
|
@ -298,7 +298,7 @@ currying, just like Guile's define. Some examples:
|
||||||
(display (list y z u)))
|
(display (list y z u)))
|
||||||
@end lisp
|
@end lisp
|
||||||
defines a procedure @code{x} with a fixed argument @var{y}, an optional
|
defines a procedure @code{x} with a fixed argument @var{y}, an optional
|
||||||
agument @var{a}, another optional argument @var{z} with default value 3,
|
argument @var{a}, another optional argument @var{z} with default value 3,
|
||||||
a keyword argument @var{w}, and a rest argument @var{u}.
|
a keyword argument @var{w}, and a rest argument @var{u}.
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
|
@ -316,7 +316,7 @@ Of course, @code{define*[-public]} also supports @code{#:rest} and
|
||||||
@deffn {library syntax} defmacro* name formals body
|
@deffn {library syntax} defmacro* name formals body
|
||||||
@deffnx {library syntax} defmacro*-public name formals body
|
@deffnx {library syntax} defmacro*-public name formals body
|
||||||
These are just like @code{defmacro} and @code{defmacro-public} except that they
|
These are just like @code{defmacro} and @code{defmacro-public} except that they
|
||||||
take @code{lambda*}-style extended paramter lists, where @code{#:optional},
|
take @code{lambda*}-style extended parameter lists, where @code{#:optional},
|
||||||
@code{#:key}, @code{#:allow-other-keys} and @code{#:rest} are allowed with the usual
|
@code{#:key}, @code{#:allow-other-keys} and @code{#:rest} are allowed with the usual
|
||||||
semantics. Here is an example of a macro with an optional argument:
|
semantics. Here is an example of a macro with an optional argument:
|
||||||
|
|
||||||
|
@ -328,13 +328,13 @@ semantics. Here is an example of a macro with an optional argument:
|
||||||
|
|
||||||
|
|
||||||
@node Procedure Properties
|
@node Procedure Properties
|
||||||
@section Procedure Properties and Metainformation
|
@section Procedure Properties and Meta-information
|
||||||
|
|
||||||
@c FIXME::martin: Review me!
|
@c FIXME::martin: Review me!
|
||||||
|
|
||||||
Procedures always have attached the environment in which they were
|
Procedures always have attached the environment in which they were
|
||||||
created and information about how to apply them to actual arguments. In
|
created and information about how to apply them to actual arguments. In
|
||||||
addition to that, properties and metainformation can be stored with
|
addition to that, properties and meta-information can be stored with
|
||||||
procedures. The procedures in this section can be used to test whether
|
procedures. The procedures in this section can be used to test whether
|
||||||
a given procedure satisfies a condition; and to access and set a
|
a given procedure satisfies a condition; and to access and set a
|
||||||
procedure's property.
|
procedure's property.
|
||||||
|
@ -429,7 +429,7 @@ Return the source property specified by @var{key} from
|
||||||
@cindex procedure with setter
|
@cindex procedure with setter
|
||||||
@cindex setter
|
@cindex setter
|
||||||
A @dfn{procedure with setter} is a special kind of procedure which
|
A @dfn{procedure with setter} is a special kind of procedure which
|
||||||
normally behaves like any accesor procedure, that is a procedure which
|
normally behaves like any accessor procedure, that is a procedure which
|
||||||
accesses a data structure. The difference is that this kind of
|
accesses a data structure. The difference is that this kind of
|
||||||
procedure has a so-called @dfn{setter} attached, which is a procedure
|
procedure has a so-called @dfn{setter} attached, which is a procedure
|
||||||
for storing something into a data structure.
|
for storing something into a data structure.
|
||||||
|
@ -658,8 +658,8 @@ given by the <transformer-spec>.
|
||||||
@node Internal Macros
|
@node Internal Macros
|
||||||
@section Internal Representation of Macros and Syntax
|
@section Internal Representation of Macros and Syntax
|
||||||
|
|
||||||
Internally, Guile uses three different flavours of macros. The three
|
Internally, Guile uses three different flavors of macros. The three
|
||||||
flavours are called @dfn{acro} (or @dfn{syntax}), @dfn{macro} and
|
flavors are called @dfn{acro} (or @dfn{syntax}), @dfn{macro} and
|
||||||
@dfn{mmacro}.
|
@dfn{mmacro}.
|
||||||
|
|
||||||
Given the expression
|
Given the expression
|
||||||
|
@ -669,7 +669,7 @@ Given the expression
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
with @code{foo} being some flavour of macro, one of the following things
|
with @code{foo} being some flavor of macro, one of the following things
|
||||||
will happen when the expression is evaluated.
|
will happen when the expression is evaluated.
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
|
@ -743,7 +743,7 @@ first symbol in an expression, evaluates the result of applying
|
||||||
of the containing code.
|
of the containing code.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
In the following primitives, @dfn{acro} flavour macros are referred to
|
In the following primitives, @dfn{acro} flavor macros are referred to
|
||||||
as @dfn{syntax transformers}.
|
as @dfn{syntax transformers}.
|
||||||
|
|
||||||
@deffn primitive macro? obj
|
@deffn primitive macro? obj
|
||||||
|
|
|
@ -13,29 +13,29 @@
|
||||||
@section Emacs Lisp Support
|
@section Emacs Lisp Support
|
||||||
|
|
||||||
@deffn primitive nil-car x
|
@deffn primitive nil-car x
|
||||||
Return the car of @var{x}, but convert it to LISP nil if it
|
Return the car of @var{x}, but convert it to Lisp nil if it
|
||||||
is Scheme's end-of-list.
|
is Scheme's end-of-list.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive nil-cdr x
|
@deffn primitive nil-cdr x
|
||||||
Return the cdr of @var{x}, but convert it to LISP nil if it
|
Return the cdr of @var{x}, but convert it to Lisp nil if it
|
||||||
is Scheme's end-of-list.
|
is Scheme's end-of-list.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive nil-cons x y
|
@deffn primitive nil-cons x y
|
||||||
Create a new cons cell with @var{x} as the car and @var{y} as
|
Create a new cons cell with @var{x} as the car and @var{y} as
|
||||||
the cdr, but convert @var{y} to Scheme's end-of-list if it is
|
the cdr, but convert @var{y} to Scheme's end-of-list if it is
|
||||||
a LISP nil.
|
a Lisp nil.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive nil-eq x y
|
@deffn primitive nil-eq x y
|
||||||
Compare @var{x} and @var{y} and return LISP's t if they are
|
Compare @var{x} and @var{y} and return Lisp's t if they are
|
||||||
@code{eq?}, return LISP's nil otherwise.
|
@code{eq?}, return Lisp's nil otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive null x
|
@deffn primitive null x
|
||||||
Return LISP's @code{t} if @var{x} is nil in the LISP sense,
|
Return Lisp's @code{t} if @var{x} is nil in the Lisp sense,
|
||||||
return LISP's nil otherwise.
|
return Lisp's nil otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ applications, they are collected in a @dfn{utlity} chapter.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Equality:: When are two values `the same'?
|
* Equality:: When are two values `the same'?
|
||||||
* Property Lists:: Managing metainformation about Scheme objects.
|
* Property Lists:: Managing meta-information about Scheme objects.
|
||||||
* Primitive Properties:: A modern low-level interface to object properties.
|
* Primitive Properties:: A modern low-level interface to object properties.
|
||||||
* Sorting:: Sort utility procedures.
|
* Sorting:: Sort utility procedures.
|
||||||
* Copying:: Copying deep structures.
|
* Copying:: Copying deep structures.
|
||||||
|
|
|
@ -95,7 +95,7 @@ Prefix arg non-nil means use \"gh_\" prefix, otherwise use \"scm_\" prefix."
|
||||||
@section Structuring argument lists for C functions
|
@section Structuring argument lists for C functions
|
||||||
|
|
||||||
The C function's arguments will be all of the Scheme procedure's
|
The C function's arguments will be all of the Scheme procedure's
|
||||||
argumements, both required and optional; if the Scheme procedure takes a
|
arguments, both required and optional; if the Scheme procedure takes a
|
||||||
``rest'' argument, that will be a final argument to the C function. The
|
``rest'' argument, that will be a final argument to the C function. The
|
||||||
C function's arguments, as well as its return type, will be @code{SCM}.
|
C function's arguments, as well as its return type, will be @code{SCM}.
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ string is used as the buffer.
|
||||||
Special treatment is required for ports which can be seeked at random.
|
Special treatment is required for ports which can be seeked at random.
|
||||||
Before various operations, such as seeking the port or changing from
|
Before various operations, such as seeking the port or changing from
|
||||||
input to output on a bidirectional port or vice versa, the port
|
input to output on a bidirectional port or vice versa, the port
|
||||||
implemention must be given a chance to update its state. The write
|
implementation must be given a chance to update its state. The write
|
||||||
buffer is updated by calling the @code{flush} ptob procedure and the
|
buffer is updated by calling the @code{flush} ptob procedure and the
|
||||||
input buffer is updated by calling the @code{end_input} ptob procedure.
|
input buffer is updated by calling the @code{end_input} ptob procedure.
|
||||||
In the case of an fport, @code{flush} causes buffered output to be
|
In the case of an fport, @code{flush} causes buffered output to be
|
||||||
|
@ -276,7 +276,7 @@ Complete the processing of buffered output data. Reset the value of
|
||||||
Set using @code{scm_set_port_flush}.
|
Set using @code{scm_set_port_flush}.
|
||||||
|
|
||||||
@item end_input
|
@item end_input
|
||||||
Perform any synchronisation required when switching from input to output
|
Perform any synchronization required when switching from input to output
|
||||||
on the port. Reset the value of @code{rw_active} to @code{SCM_PORT_NEITHER}.
|
on the port. Reset the value of @code{rw_active} to @code{SCM_PORT_NEITHER}.
|
||||||
Set using @code{scm_set_port_end_input}.
|
Set using @code{scm_set_port_end_input}.
|
||||||
|
|
||||||
|
@ -377,7 +377,7 @@ in which they are used:
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
@code{error-signal}: thrown after receiving an unhandled fatal signal
|
@code{error-signal}: thrown after receiving an unhandled fatal signal
|
||||||
such as SIGSEV, SIGBUS, SIGFPE etc. The @var{rest} argument in the throw
|
such as SIGSEGV, SIGBUS, SIGFPE etc. The @var{rest} argument in the throw
|
||||||
contains the coded signal number (at present this is not the same as the
|
contains the coded signal number (at present this is not the same as the
|
||||||
usual Unix signal number).
|
usual Unix signal number).
|
||||||
|
|
||||||
|
@ -394,7 +394,7 @@ errno value.
|
||||||
accepted domain.
|
accepted domain.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
@code{wrong-type-arg}: an argument to a procedure has the wrong thpe.
|
@code{wrong-type-arg}: an argument to a procedure has the wrong type.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
@code{wrong-number-of-args}: a procedure was called with the wrong number
|
@code{wrong-number-of-args}: a procedure was called with the wrong number
|
||||||
|
|
|
@ -42,7 +42,7 @@ ln -s /usr/local/share/slib /usr/local/share/guile/site/slib
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Use Guile to create the catalogue file, e.g.,:
|
Use Guile to create the catalog file, e.g.,:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
# guile
|
# guile
|
||||||
|
@ -51,7 +51,7 @@ guile> (load "/usr/local/share/slib/mklibcat.scm")
|
||||||
guile> (quit)
|
guile> (quit)
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
The catalogue data should now be in
|
The catalog data should now be in
|
||||||
@code{/usr/local/share/guile/site/slibcat}.
|
@code{/usr/local/share/guile/site/slibcat}.
|
||||||
|
|
||||||
If instead you get an error such as:
|
If instead you get an error such as:
|
||||||
|
|
|
@ -122,7 +122,7 @@ If no clause is satisfied, an error is signalled.
|
||||||
|
|
||||||
Since @code{cond-expand} is needed to tell what a Scheme implementation
|
Since @code{cond-expand} is needed to tell what a Scheme implementation
|
||||||
provides, it must be accessible without using any
|
provides, it must be accessible without using any
|
||||||
implementation-dependant operations, such as @code{use-modules} in
|
implementation-dependent operations, such as @code{use-modules} in
|
||||||
Guile. Thus, it is not necessary to use any module to get access to
|
Guile. Thus, it is not necessary to use any module to get access to
|
||||||
this form.
|
this form.
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ processing procedure, you should also have a look at the sections
|
||||||
* SRFI-1 Length Append etc:: Length calculation and list appending.
|
* SRFI-1 Length Append etc:: Length calculation and list appending.
|
||||||
* SRFI-1 Fold and Map:: Higher-order list processing.
|
* SRFI-1 Fold and Map:: Higher-order list processing.
|
||||||
* SRFI-1 Filtering and Partitioning:: Filter lists based on predicates.
|
* SRFI-1 Filtering and Partitioning:: Filter lists based on predicates.
|
||||||
* SRFI-1 Searching:: Search for elments.
|
* SRFI-1 Searching:: Search for elements.
|
||||||
* SRFI-1 Deleting:: Delete elements from lists.
|
* SRFI-1 Deleting:: Delete elements from lists.
|
||||||
* SRFI-1 Association Lists:: Handle association lists.
|
* SRFI-1 Association Lists:: Handle association lists.
|
||||||
* SRFI-1 Set Operations:: Use lists for representing sets.
|
* SRFI-1 Set Operations:: Use lists for representing sets.
|
||||||
|
@ -252,7 +252,7 @@ the empty list, but some other value.
|
||||||
@deffn procedure null-list? lst
|
@deffn procedure null-list? lst
|
||||||
Return @code{#t} if @var{lst} is the empty list @code{()}, @code{#f}
|
Return @code{#t} if @var{lst} is the empty list @code{()}, @code{#f}
|
||||||
otherwise. If something else than a proper or circular list is passed
|
otherwise. If something else than a proper or circular list is passed
|
||||||
as @var{lst}, an error is signalled. This procedure is recommented
|
as @var{lst}, an error is signalled. This procedure is recommended
|
||||||
for checking for the end of a list in contexts where dotted lists are
|
for checking for the end of a list in contexts where dotted lists are
|
||||||
not allowed.
|
not allowed.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -502,7 +502,7 @@ the list(s) @var{lst1}, @var{lst2}, @dots{}. The return value is not
|
||||||
specified. This procedure is extended with respect to R5RS, because
|
specified. This procedure is extended with respect to R5RS, because
|
||||||
the argument lists may have different lengths. The shortest argument
|
the argument lists may have different lengths. The shortest argument
|
||||||
list determines the number of times @var{f} is called. @var{f} will
|
list determines the number of times @var{f} is called. @var{f} will
|
||||||
be applied to tge list elements in left-to-right order.
|
be applied to the list elements in left-to-right order.
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -646,14 +646,14 @@ result.
|
||||||
Apply @var{pred} across the lists and return a true value if the
|
Apply @var{pred} across the lists and return a true value if the
|
||||||
predicate returns true for any of the list elements(s); return
|
predicate returns true for any of the list elements(s); return
|
||||||
@code{#f} otherwise. The true value returned is always the result of
|
@code{#f} otherwise. The true value returned is always the result of
|
||||||
the first succesful application of @var{pred}.
|
the first successful application of @var{pred}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure every pred lst1 lst2 @dots{}
|
@deffn procedure every pred lst1 lst2 @dots{}
|
||||||
Apply @var{pred} across the lists and return a true value if the
|
Apply @var{pred} across the lists and return a true value if the
|
||||||
predicate returns true for every of the list elements(s); return
|
predicate returns true for every of the list elements(s); return
|
||||||
@code{#f} otherwise. The true value returned is always the result of
|
@code{#f} otherwise. The true value returned is always the result of
|
||||||
the final succesful application of @var{pred}.
|
the final successful application of @var{pred}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure list-index pred lst1 lst2 @dots{}
|
@deffn procedure list-index pred lst1 lst2 @dots{}
|
||||||
|
@ -748,7 +748,7 @@ structure of the list @var{alist} in order to produce the result.
|
||||||
|
|
||||||
Lists can be used for representing sets of objects. The procedures
|
Lists can be used for representing sets of objects. The procedures
|
||||||
documented in this section can be used for such set representations.
|
documented in this section can be used for such set representations.
|
||||||
Man combinding several sets or adding elements, they make sure that no
|
Man combining several sets or adding elements, they make sure that no
|
||||||
object is contained more than once in a given list. Please note that
|
object is contained more than once in a given list. Please note that
|
||||||
lists are not a too efficient implementation method for sets, so if
|
lists are not a too efficient implementation method for sets, so if
|
||||||
you need high performance, you should think about implementing a
|
you need high performance, you should think about implementing a
|
||||||
|
@ -1064,7 +1064,7 @@ read syntax form
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
where @var{ctor} must be a symbol for which a read constructor was
|
where @var{ctor} must be a symbol for which a read constructor was
|
||||||
defined previouly, using @code{define-reader-ctor}.
|
defined previously, using @code{define-reader-ctor}.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
@ -1146,7 +1146,7 @@ soon as possible.
|
||||||
* SRFI-13 Constructors:: String constructing procedures.
|
* SRFI-13 Constructors:: String constructing procedures.
|
||||||
* SRFI-13 List/String Conversion:: Conversion from/to lists.
|
* SRFI-13 List/String Conversion:: Conversion from/to lists.
|
||||||
* SRFI-13 Selection:: Selection portions of strings.
|
* SRFI-13 Selection:: Selection portions of strings.
|
||||||
* SRFI-13 Modification:: Modfify strings in-place.
|
* SRFI-13 Modification:: Modify strings in-place.
|
||||||
* SRFI-13 Comparison:: Compare strings.
|
* SRFI-13 Comparison:: Compare strings.
|
||||||
* SRFI-13 Prefixes/Suffixes:: Detect common pre-/suffixes.
|
* SRFI-13 Prefixes/Suffixes:: Detect common pre-/suffixes.
|
||||||
* SRFI-13 Searching:: Searching for substrings.
|
* SRFI-13 Searching:: Searching for substrings.
|
||||||
|
@ -1465,14 +1465,14 @@ character or a given substring, or a character from a set of characters.
|
||||||
@deffn primitive string-index s char_pred [start end]
|
@deffn primitive string-index s char_pred [start end]
|
||||||
@deffnx primitive string-index-right s char_pred [start end]
|
@deffnx primitive string-index-right s char_pred [start end]
|
||||||
Search through the string @var{s} from left to right (right to left),
|
Search through the string @var{s} from left to right (right to left),
|
||||||
returning the index of the first (last) occurence of a character which
|
returning the index of the first (last) occurrence of a character which
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
equals @var{char_pred}, if it is character,
|
equals @var{char_pred}, if it is character,
|
||||||
|
|
||||||
@item
|
@item
|
||||||
satisifies the predicate @var{char_pred}, if it is a
|
satisfies the predicate @var{char_pred}, if it is a
|
||||||
procedure,
|
procedure,
|
||||||
|
|
||||||
@item
|
@item
|
||||||
|
@ -1483,14 +1483,14 @@ is in the set @var{char_pred}, if it is a character set.
|
||||||
@deffn primitive string-skip s char_pred [start end]
|
@deffn primitive string-skip s char_pred [start end]
|
||||||
@deffnx primitive string-skip-right s char_pred [start end]
|
@deffnx primitive string-skip-right s char_pred [start end]
|
||||||
Search through the string @var{s} from left to right (right to left),
|
Search through the string @var{s} from left to right (right to left),
|
||||||
returning the index of the first (last) occurence of a character which
|
returning the index of the first (last) occurrence of a character which
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
does not equal @var{char_pred}, if it is character,
|
does not equal @var{char_pred}, if it is character,
|
||||||
|
|
||||||
@item
|
@item
|
||||||
does not satisify the predicate @var{char_pred}, if it is
|
does not satisfy the predicate @var{char_pred}, if it is
|
||||||
a procedure.
|
a procedure.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
|
@ -1507,7 +1507,7 @@ Return the count of the number of characters in the string
|
||||||
equals @var{char_pred}, if it is character,
|
equals @var{char_pred}, if it is character,
|
||||||
|
|
||||||
@item
|
@item
|
||||||
satisifies the predicate @var{char_pred}, if it is a procedure.
|
satisfies the predicate @var{char_pred}, if it is a procedure.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
is in the set @var{char_pred}, if it is a character set.
|
is in the set @var{char_pred}, if it is a character set.
|
||||||
|
@ -1772,7 +1772,7 @@ the module @code{(srfi srfi-14)}, as well as the standard variables
|
||||||
* SRFI-14 Character Set Data Type:: Underlying data type for charsets.
|
* SRFI-14 Character Set Data Type:: Underlying data type for charsets.
|
||||||
* SRFI-14 Predicates/Comparison:: Charset predicates.
|
* SRFI-14 Predicates/Comparison:: Charset predicates.
|
||||||
* SRFI-14 Iterating Over Character Sets:: Enumerate charset elements.
|
* SRFI-14 Iterating Over Character Sets:: Enumerate charset elements.
|
||||||
* SRFI-14 Creating Character Sets:: Makeing new charsets.
|
* SRFI-14 Creating Character Sets:: Making new charsets.
|
||||||
* SRFI-14 Querying Character Sets:: Test charsets for membership etc.
|
* SRFI-14 Querying Character Sets:: Test charsets for membership etc.
|
||||||
* SRFI-14 Character-Set Algebra:: Calculating new charsets.
|
* SRFI-14 Character-Set Algebra:: Calculating new charsets.
|
||||||
* SRFI-14 Standard Character Sets:: Variables containing predefined charsets.
|
* SRFI-14 Standard Character Sets:: Variables containing predefined charsets.
|
||||||
|
@ -1965,7 +1965,7 @@ character codes lie in the half-open range
|
||||||
If @var{error} is a true value, an error is signalled if the
|
If @var{error} is a true value, an error is signalled if the
|
||||||
specified range contains characters which are not contained in
|
specified range contains characters which are not contained in
|
||||||
the implemented character range. If @var{error} is @code{#f},
|
the implemented character range. If @var{error} is @code{#f},
|
||||||
these characters are silently left out of the resultung
|
these characters are silently left out of the resulting
|
||||||
character set.
|
character set.
|
||||||
|
|
||||||
The characters in @var{base_cs} are added to the result, if
|
The characters in @var{base_cs} are added to the result, if
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue