mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-17 17:20:29 +02:00
* Docstring fixes and corresponding manual updates.
This commit is contained in:
parent
8e55f36e48
commit
5a5464e533
54 changed files with 4007 additions and 2215 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2002-03-14 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
|
* guile.texi: Replaced by autogenerated libguile version.
|
||||||
|
|
||||||
2002-03-12 Neil Jerram <neil@ossau.uklinux.net>
|
2002-03-12 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
docstring.el (make-module-description-list): Exclude @deffn's with
|
docstring.el (make-module-description-list): Exclude @deffn's with
|
||||||
|
|
2402
doc/maint/guile.texi
2402
doc/maint/guile.texi
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,15 @@
|
||||||
|
2002-03-14 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
|
* appendices.texi, deprecated.texi, intro.texi, misc-modules.texi,
|
||||||
|
new-docstrings.texi, posix.texi, scheme-binding.texi,
|
||||||
|
scheme-control.texi, scheme-data.texi, scheme-debug.texi,
|
||||||
|
scheme-evaluation.texi, scheme-io.texi, scheme-memory.texi,
|
||||||
|
scheme-modules.texi, scheme-options.texi, scheme-procedures.texi,
|
||||||
|
scheme-scheduling.texi, scheme-translation.texi,
|
||||||
|
scheme-utility.texi, scm.texi, script-getopt.texi,
|
||||||
|
srfi-modules.texi: Change all occurrences of @deffn categories
|
||||||
|
`primitive' and `procedure' to `{Scheme Procedure}'.
|
||||||
|
|
||||||
2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
|
2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
|
||||||
|
|
||||||
* Makefile.am (guile_toc.html): Look for guile.texi in $(srcdir).
|
* Makefile.am (guile_toc.html): Look for guile.texi in $(srcdir).
|
||||||
|
|
|
@ -0,0 +1,278 @@
|
||||||
|
@node Obtaining and Installing Guile
|
||||||
|
@appendix Obtaining and Installing Guile
|
||||||
|
|
||||||
|
Here is the information you will need to get and install Guile and extra
|
||||||
|
packages and documentation you might need or find interesting.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* The Basic Guile Package::
|
||||||
|
* Packages not shipped with Guile::
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node The Basic Guile Package
|
||||||
|
@section The Basic Guile Package
|
||||||
|
|
||||||
|
Guile can be obtained from the main GNU archive site
|
||||||
|
@url{ftp://prep.ai.mit.edu/pub/gnu} or any of its mirrors. The file
|
||||||
|
will be named guile-version.tar.gz. The current version is
|
||||||
|
@value{VERSION}, so the file you should grab is:
|
||||||
|
|
||||||
|
@url{ftp://prep.ai.mit.edu/pub/gnu/guile-@value{VERSION}.tar.gz}
|
||||||
|
|
||||||
|
To unbundle Guile use the instruction
|
||||||
|
@example
|
||||||
|
zcat guile-@value{VERSION}.tar.gz | tar xvf -
|
||||||
|
@end example
|
||||||
|
which will create a directory called @file{guile-@value{VERSION}} with
|
||||||
|
all the sources. You can look at the file @file{INSTALL} for detailed
|
||||||
|
instructions on how to build and install Guile, but you should be able
|
||||||
|
to just do
|
||||||
|
@example
|
||||||
|
cd guile-@value{VERSION}
|
||||||
|
./configure
|
||||||
|
make install
|
||||||
|
@end example
|
||||||
|
|
||||||
|
This will install the Guile executable @file{guile}, the Guile library
|
||||||
|
@file{libguile.a} and various associated header files and support
|
||||||
|
libraries. It will also install the Guile tutorial and reference manual.
|
||||||
|
|
||||||
|
@c [[include instructions for getting R5RS]]
|
||||||
|
|
||||||
|
Since this manual frequently refers to the Scheme ``standard'', also
|
||||||
|
known as R5RS, or the
|
||||||
|
@iftex
|
||||||
|
``Revised$^5$ Report on the Algorithmic Language Scheme'',
|
||||||
|
@end iftex
|
||||||
|
@ifinfo
|
||||||
|
``Revised^5 Report on the Algorithmic Language Scheme'',
|
||||||
|
@end ifinfo
|
||||||
|
we have included the report in the Guile distribution;
|
||||||
|
@xref{Top, , Introduction, r5rs, Revised(5) Report on the Algorithmic
|
||||||
|
Language Scheme}.
|
||||||
|
This will also be installed in your info directory.
|
||||||
|
|
||||||
|
|
||||||
|
@node Packages not shipped with Guile
|
||||||
|
@section Packages not shipped with Guile
|
||||||
|
|
||||||
|
We ship the Guile tutorial and reference manual with the Guile
|
||||||
|
distribution. Since the Scheme standard (R5RS) is a stable document, we
|
||||||
|
ship that too.
|
||||||
|
|
||||||
|
Here are references (usually World Wide Web URLs) to some other freely
|
||||||
|
redistributable documents and packages which you might find useful if
|
||||||
|
you are using Guile.
|
||||||
|
|
||||||
|
@table @strong
|
||||||
|
@item SCSH
|
||||||
|
the Scheme Shell. Gary Houston has ported SCSH to Guile. The relevant
|
||||||
|
chapter (@pxref{The Scheme shell (scsh)}) has references to the SCSH web
|
||||||
|
page with all its documentation.
|
||||||
|
|
||||||
|
@item SLIB
|
||||||
|
a portable Scheme library maintained by Aubrey Jaffer. SLIB can be
|
||||||
|
obtained by ftp from @url{ftp://prep.ai.mit.edu/pub/gnu/jacal/}.
|
||||||
|
|
||||||
|
The SLIB package should be unpacked somewhere in Guile's load path. It
|
||||||
|
will typically be unpacked in @file{/usr/local/share/guile/site}, so
|
||||||
|
that it will be @file{/usr/local/share/guile/site/slib}.
|
||||||
|
|
||||||
|
Guile might have been installed with a different prefix, in which case
|
||||||
|
the load path can be checked from inside the interpreter with:
|
||||||
|
|
||||||
|
@smalllisp
|
||||||
|
guile> %load-path
|
||||||
|
("/usr/local/share/guile/site" "/usr/local/share/guile/1.3a" "/usr/local/share/guile" ".")
|
||||||
|
@end smalllisp
|
||||||
|
|
||||||
|
The relevant chapter (@pxref{SLIB}) has details on how to use SLIB with
|
||||||
|
Guile.
|
||||||
|
|
||||||
|
@item JACAL
|
||||||
|
a symbolic math package by Aubrey Jaffer. The latest version of Jacal
|
||||||
|
can be obtained from @url{ftp://prep.ai.mit.edu/pub/gnu/jacal/}, and
|
||||||
|
should be unpacked in @file{/usr/local/share/guile/site/slib} so that
|
||||||
|
it will be in @file{/usr/local/share/guile/site/slib/jacal}.
|
||||||
|
|
||||||
|
The relevant section (@pxref{JACAL}) has details on how to use Jacal.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
|
||||||
|
@page
|
||||||
|
@node Debugger User Interface
|
||||||
|
@appendix Debugger User Interface
|
||||||
|
|
||||||
|
@c --- The title and introduction of this appendix need to
|
||||||
|
@c distinguish this clearly from the chapter on the internal
|
||||||
|
@c debugging interface.
|
||||||
|
|
||||||
|
When debugging a program, programmers often find it helpful to examine
|
||||||
|
the program's internal status while it runs: the values of internal
|
||||||
|
variables, the choices made in @code{if} and @code{cond} statements, and
|
||||||
|
so forth. Guile Scheme provides a debugging interface that programmers
|
||||||
|
can use to single-step through Scheme functions and examine symbol
|
||||||
|
bindings. This is different from the @ref{Debugging}, which permits
|
||||||
|
programmers to debug the Guile interpreter itself. Most programmers
|
||||||
|
will be more interested in debugging their own Scheme programs than the
|
||||||
|
interpreter which evaluates them.
|
||||||
|
|
||||||
|
[FIXME: should we include examples of traditional debuggers
|
||||||
|
and explain why they can't be used to debug interpreted Scheme or Lisp?]
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* Single-Step:: Execute a program or function one step at a time.
|
||||||
|
* Trace:: Print a report each time a given function is called.
|
||||||
|
* Backtrace:: See a list of the statements that caused an error.
|
||||||
|
* Stacks and Frames:: Examine the state of an interrupted program.
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Single-Step
|
||||||
|
@appendixsec Single-Step
|
||||||
|
|
||||||
|
@node Trace
|
||||||
|
@appendixsec Trace
|
||||||
|
|
||||||
|
When a function is @dfn{traced}, it means that every call to that
|
||||||
|
function is reported to the user during a program run. This can help a
|
||||||
|
programmer determine whether a function is being called at the wrong
|
||||||
|
time or with the wrong set of arguments.
|
||||||
|
|
||||||
|
@defun trace function
|
||||||
|
Enable debug tracing on @code{function}. While a program is being run, Guile
|
||||||
|
will print a brief report at each call to a traced function,
|
||||||
|
advising the user which function was called and the arguments that were
|
||||||
|
passed to it.
|
||||||
|
@end defun
|
||||||
|
|
||||||
|
@defun untrace function
|
||||||
|
Disable debug tracing for @code{function}.
|
||||||
|
@end defun
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(define (rev ls)
|
||||||
|
(if (null? ls)
|
||||||
|
'()
|
||||||
|
(append (rev (cdr ls))
|
||||||
|
(cons (car ls) '())))) @result{} rev
|
||||||
|
|
||||||
|
(trace rev) @result{} (rev)
|
||||||
|
|
||||||
|
(rev '(a b c d e))
|
||||||
|
@result{} [rev (a b c d e)]
|
||||||
|
| [rev (b c d e)]
|
||||||
|
| | [rev (c d e)]
|
||||||
|
| | | [rev (d e)]
|
||||||
|
| | | | [rev (e)]
|
||||||
|
| | | | | [rev ()]
|
||||||
|
| | | | | ()
|
||||||
|
| | | | (e)
|
||||||
|
| | | (e d)
|
||||||
|
| | (e d c)
|
||||||
|
| (e d c b)
|
||||||
|
(e d c b a)
|
||||||
|
(e d c b a)
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
Note the way Guile indents the output, illustrating the depth of
|
||||||
|
execution at each function call. This can be used to demonstrate, for
|
||||||
|
example, that Guile implements self-tail-recursion properly:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(define (rev ls sl)
|
||||||
|
(if (null? ls)
|
||||||
|
sl
|
||||||
|
(rev (cdr ls)
|
||||||
|
(cons (car ls) sl)))) @result{} rev
|
||||||
|
|
||||||
|
(trace rev) @result{} (rev)
|
||||||
|
|
||||||
|
(rev '(a b c d e) '())
|
||||||
|
@result{} [rev (a b c d e) ()]
|
||||||
|
[rev (b c d e) (a)]
|
||||||
|
[rev (c d e) (b a)]
|
||||||
|
[rev (d e) (c b a)]
|
||||||
|
[rev (e) (d c b a)]
|
||||||
|
[rev () (e d c b a)]
|
||||||
|
(e d c b a)
|
||||||
|
(e d c b a)
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
Since the tail call is effectively optimized to a @code{goto} statement,
|
||||||
|
there is no need for Guile to create a new stack frame for each
|
||||||
|
iteration. Using @code{trace} here helps us see why this is so.
|
||||||
|
|
||||||
|
@node Backtrace
|
||||||
|
@appendixsec Backtrace
|
||||||
|
|
||||||
|
@node Stacks and Frames
|
||||||
|
@appendixsec Stacks and Frames
|
||||||
|
|
||||||
|
When a running program is interrupted, usually upon reaching an error or
|
||||||
|
breakpoint, its state is represented by a @dfn{stack} of suspended
|
||||||
|
function calls, each of which is called a @dfn{frame}. The programmer
|
||||||
|
can learn more about the program's state at the point of interruption by
|
||||||
|
inspecting and modifying these frames.
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} stack? obj
|
||||||
|
Return @code{#t} if @var{obj} is a calling stack.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} make-stack
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn syntax start-stack id exp
|
||||||
|
Evaluate @var{exp} on a new calling stack with identity @var{id}. If
|
||||||
|
@var{exp} is interrupted during evaluation, backtraces will not display
|
||||||
|
frames farther back than @var{exp}'s top-level form. This macro is a
|
||||||
|
way of artificially limiting backtraces and stack procedures, largely as
|
||||||
|
a convenience to the user.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} stack-id stack
|
||||||
|
Return the identifier given to @var{stack} by @code{start-stack}.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} stack-ref
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} stack-length
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame?
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} last-stack-frame
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-number
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-source
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-procedure
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-arguments
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-previous
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-next
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-real?
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-procedure?
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-evaluating-args?
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} frame-overflow
|
||||||
|
@end deffn
|
|
@ -38,7 +38,8 @@ substring is an object that mostly behaves just like an ordinary
|
||||||
substring, except that it actually shares storage space with its parent
|
substring, except that it actually shares storage space with its parent
|
||||||
string.
|
string.
|
||||||
|
|
||||||
@deffn primitive make-shared-substring str [start [end]]
|
@deffn {Scheme Procedure} make-shared-substring str [start [end]]
|
||||||
|
@deffnx {C Function} scm_make_shared_substring (str, start, end)
|
||||||
Return a shared substring of @var{str}. The arguments are the
|
Return a shared substring of @var{str}. The arguments are the
|
||||||
same as for the @code{substring} function: the shared substring
|
same as for the @code{substring} function: the shared substring
|
||||||
returned includes all of the text from @var{str} between
|
returned includes all of the text from @var{str} between
|
||||||
|
@ -132,7 +133,8 @@ now require strings:
|
||||||
ERROR: Wrong type argument (expecting STRINGP): /home/
|
ERROR: Wrong type argument (expecting STRINGP): /home/
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@deffn primitive read-only-string? obj
|
@deffn {Scheme Procedure} read-only-string? obj
|
||||||
|
@deffnx {C Function} scm_read_only_string_p (obj)
|
||||||
Return @code{#t} if @var{obj} is either a string or a symbol,
|
Return @code{#t} if @var{obj} is either a string or a symbol,
|
||||||
otherwise return @code{#f}.
|
otherwise return @code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
@c $Id: intro.texi,v 1.1.2.5 2002-03-12 20:51:25 ossau Exp $
|
@c $Id: intro.texi,v 1.1.2.6 2002-03-15 09:23:18 ossau Exp $
|
||||||
|
|
||||||
|
|
||||||
@page
|
@page
|
||||||
|
@ -200,8 +200,8 @@ As another example, here is a simple replacement for the POSIX
|
||||||
(newline)
|
(newline)
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@deffn procedure command-line
|
@deffn {Scheme Procedure} command-line
|
||||||
@deffnx primitive program-arguments
|
@deffnx {Scheme Procedure} program-arguments
|
||||||
Return a list of the command-line arguments passed to the currently
|
Return a list of the command-line arguments passed to the currently
|
||||||
running program. If the program invoked Guile with the @samp{-s},
|
running program. If the program invoked Guile with the @samp{-s},
|
||||||
@samp{-c} or @samp{--} switches, these procedures ignore everything up
|
@samp{-c} or @samp{--} switches, these procedures ignore everything up
|
||||||
|
|
|
@ -30,7 +30,7 @@ how @code{pretty-print} will format the output, see the following:
|
||||||
(else (if (= x 1) 2 (* x x x))))))
|
(else (if (= x 1) 2 (* x x x))))))
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@deffn procedure pretty-print obj [port]
|
@deffn {Scheme Procedure} pretty-print obj [port]
|
||||||
Print the textual representation of the Scheme object @var{obj} to
|
Print the textual representation of the Scheme object @var{obj} to
|
||||||
@var{port}. @var{port} defaults to the current output port, if not
|
@var{port}. @var{port} defaults to the current output port, if not
|
||||||
given.
|
given.
|
||||||
|
@ -77,7 +77,7 @@ The @code{format} procedure, to be found in module @code{(ice-9
|
||||||
format)}, can do all this, and even more. If you are a C programmer,
|
format)}, can do all this, and even more. If you are a C programmer,
|
||||||
you can think of this procedure as Guile's @code{fprintf}.
|
you can think of this procedure as Guile's @code{fprintf}.
|
||||||
|
|
||||||
@deffn procedure format destination format-string args @dots{}
|
@deffn {Scheme Procedure} format destination format-string args @dots{}
|
||||||
The first parameter is the @var{destination}, it determines where the
|
The first parameter is the @var{destination}, it determines where the
|
||||||
output of @code{format} will go.
|
output of @code{format} will go.
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,27 @@
|
||||||
|
|
||||||
@c module (guile)
|
@c module (guile)
|
||||||
|
|
||||||
@deffn primitive environment? obj
|
@deffn {Scheme Procedure} environment? obj
|
||||||
|
@deffnx {C Function} scm_environment_p (obj)
|
||||||
Return @code{#t} if @var{obj} is an environment, or @code{#f}
|
Return @code{#t} if @var{obj} is an environment, or @code{#f}
|
||||||
otherwise.
|
otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-bound? env sym
|
@deffn {Scheme Procedure} environment-bound? env sym
|
||||||
|
@deffnx {C Function} scm_environment_bound_p (env, sym)
|
||||||
Return @code{#t} if @var{sym} is bound in @var{env}, or
|
Return @code{#t} if @var{sym} is bound in @var{env}, or
|
||||||
@code{#f} otherwise.
|
@code{#f} otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-ref env sym
|
@deffn {Scheme Procedure} environment-ref env sym
|
||||||
|
@deffnx {C Function} scm_environment_ref (env, sym)
|
||||||
Return the value of the location bound to @var{sym} in
|
Return the value of the location bound to @var{sym} in
|
||||||
@var{env}. If @var{sym} is unbound in @var{env}, signal an
|
@var{env}. If @var{sym} is unbound in @var{env}, signal an
|
||||||
@code{environment:unbound} error.
|
@code{environment:unbound} error.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-fold env proc init
|
@deffn {Scheme Procedure} environment-fold env proc init
|
||||||
|
@deffnx {C Function} scm_environment_fold (env, proc, init)
|
||||||
Iterate over all the bindings in @var{env}, accumulating some
|
Iterate over all the bindings in @var{env}, accumulating some
|
||||||
value.
|
value.
|
||||||
For each binding in @var{env}, apply @var{proc} to the symbol
|
For each binding in @var{env}, apply @var{proc} to the symbol
|
||||||
|
@ -51,7 +55,8 @@ using environment-fold:
|
||||||
@end lisp
|
@end lisp
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-define env sym val
|
@deffn {Scheme Procedure} environment-define env sym val
|
||||||
|
@deffnx {C Function} scm_environment_define (env, sym, val)
|
||||||
Bind @var{sym} to a new location containing @var{val} in
|
Bind @var{sym} to a new location containing @var{val} in
|
||||||
@var{env}. If @var{sym} is already bound to another location
|
@var{env}. If @var{sym} is already bound to another location
|
||||||
in @var{env} and the binding is mutable, that binding is
|
in @var{env} and the binding is mutable, that binding is
|
||||||
|
@ -61,7 +66,8 @@ If @var{sym} is already bound in @var{env}, and the binding is
|
||||||
immutable, signal an @code{environment:immutable-binding} error.
|
immutable, signal an @code{environment:immutable-binding} error.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-undefine env sym
|
@deffn {Scheme Procedure} environment-undefine env sym
|
||||||
|
@deffnx {C Function} scm_environment_undefine (env, sym)
|
||||||
Remove any binding for @var{sym} from @var{env}. If @var{sym}
|
Remove any binding for @var{sym} from @var{env}. If @var{sym}
|
||||||
is unbound in @var{env}, do nothing. The return value is
|
is unbound in @var{env}, do nothing. The return value is
|
||||||
unspecified.
|
unspecified.
|
||||||
|
@ -69,7 +75,8 @@ If @var{sym} is already bound in @var{env}, and the binding is
|
||||||
immutable, signal an @code{environment:immutable-binding} error.
|
immutable, signal an @code{environment:immutable-binding} error.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-set! env sym val
|
@deffn {Scheme Procedure} environment-set! env sym val
|
||||||
|
@deffnx {C Function} scm_environment_set_x (env, sym, val)
|
||||||
If @var{env} binds @var{sym} to some location, change that
|
If @var{env} binds @var{sym} to some location, change that
|
||||||
location's value to @var{val}. The return value is
|
location's value to @var{val}. The return value is
|
||||||
unspecified.
|
unspecified.
|
||||||
|
@ -79,7 +86,8 @@ to an immutable location, signal an
|
||||||
@code{environment:immutable-location} error.
|
@code{environment:immutable-location} error.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-cell env sym for_write
|
@deffn {Scheme Procedure} environment-cell env sym for_write
|
||||||
|
@deffnx {C Function} scm_environment_cell (env, sym, for_write)
|
||||||
Return the value cell which @var{env} binds to @var{sym}, or
|
Return the value cell which @var{env} binds to @var{sym}, or
|
||||||
@code{#f} if the binding does not live in a value cell.
|
@code{#f} if the binding does not live in a value cell.
|
||||||
The argument @var{for-write} indicates whether the caller
|
The argument @var{for-write} indicates whether the caller
|
||||||
|
@ -94,7 +102,8 @@ If you use this function, you should consider using
|
||||||
re-bound to a new value cell, or becomes undefined.
|
re-bound to a new value cell, or becomes undefined.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-observe env proc
|
@deffn {Scheme Procedure} environment-observe env proc
|
||||||
|
@deffnx {C Function} scm_environment_observe (env, proc)
|
||||||
Whenever @var{env}'s bindings change, apply @var{proc} to
|
Whenever @var{env}'s bindings change, apply @var{proc} to
|
||||||
@var{env}.
|
@var{env}.
|
||||||
This function returns an object, token, which you can pass to
|
This function returns an object, token, which you can pass to
|
||||||
|
@ -103,7 +112,8 @@ of procedures observing @var{env}. The type and value of
|
||||||
token is unspecified.
|
token is unspecified.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-observe-weak env proc
|
@deffn {Scheme Procedure} environment-observe-weak env proc
|
||||||
|
@deffnx {C Function} scm_environment_observe_weak (env, proc)
|
||||||
This function is the same as environment-observe, except that
|
This function is the same as environment-observe, except that
|
||||||
the reference @var{env} retains to @var{proc} is a weak
|
the reference @var{env} retains to @var{proc} is a weak
|
||||||
reference. This means that, if there are no other live,
|
reference. This means that, if there are no other live,
|
||||||
|
@ -112,7 +122,8 @@ garbage-collected, and dropped from @var{env}'s
|
||||||
list of observing procedures.
|
list of observing procedures.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive environment-unobserve token
|
@deffn {Scheme Procedure} environment-unobserve token
|
||||||
|
@deffnx {C Function} scm_environment_unobserve (token)
|
||||||
Cancel the observation request which returned the value
|
Cancel the observation request which returned the value
|
||||||
@var{token}. The return value is unspecified.
|
@var{token}. The return value is unspecified.
|
||||||
If a call @code{(environment-observe env proc)} returns
|
If a call @code{(environment-observe env proc)} returns
|
||||||
|
@ -121,18 +132,21 @@ will cause @var{proc} to no longer be called when @var{env}'s
|
||||||
bindings change.
|
bindings change.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-leaf-environment
|
@deffn {Scheme Procedure} make-leaf-environment
|
||||||
|
@deffnx {C Function} scm_make_leaf_environment ()
|
||||||
Create a new leaf environment, containing no bindings.
|
Create a new leaf environment, containing no bindings.
|
||||||
All bindings and locations created in the new environment
|
All bindings and locations created in the new environment
|
||||||
will be mutable.
|
will be mutable.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive leaf-environment? object
|
@deffn {Scheme Procedure} leaf-environment? object
|
||||||
|
@deffnx {C Function} scm_leaf_environment_p (object)
|
||||||
Return @code{#t} if object is a leaf environment, or @code{#f}
|
Return @code{#t} if object is a leaf environment, or @code{#f}
|
||||||
otherwise.
|
otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-eval-environment local imported
|
@deffn {Scheme Procedure} make-eval-environment local imported
|
||||||
|
@deffnx {C Function} scm_make_eval_environment (local, imported)
|
||||||
Return a new environment object eval whose bindings are the
|
Return a new environment object eval whose bindings are the
|
||||||
union of the bindings in the environments @var{local} and
|
union of the bindings in the environments @var{local} and
|
||||||
@var{imported}, with bindings from @var{local} taking
|
@var{imported}, with bindings from @var{local} taking
|
||||||
|
@ -156,28 +170,34 @@ In typical use, @var{local} will be a finite environment, and
|
||||||
@var{imported} will be an import environment
|
@var{imported} will be an import environment
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive eval-environment? object
|
@deffn {Scheme Procedure} eval-environment? object
|
||||||
|
@deffnx {C Function} scm_eval_environment_p (object)
|
||||||
Return @code{#t} if object is an eval environment, or @code{#f}
|
Return @code{#t} if object is an eval environment, or @code{#f}
|
||||||
otherwise.
|
otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive eval-environment-local env
|
@deffn {Scheme Procedure} eval-environment-local env
|
||||||
|
@deffnx {C Function} scm_eval_environment_local (env)
|
||||||
Return the local environment of eval environment @var{env}.
|
Return the local environment of eval environment @var{env}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive eval-environment-set-local! env local
|
@deffn {Scheme Procedure} eval-environment-set-local! env local
|
||||||
|
@deffnx {C Function} scm_eval_environment_set_local_x (env, local)
|
||||||
Change @var{env}'s local environment to @var{local}.
|
Change @var{env}'s local environment to @var{local}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive eval-environment-imported env
|
@deffn {Scheme Procedure} eval-environment-imported env
|
||||||
|
@deffnx {C Function} scm_eval_environment_imported (env)
|
||||||
Return the imported environment of eval environment @var{env}.
|
Return the imported environment of eval environment @var{env}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive eval-environment-set-imported! env imported
|
@deffn {Scheme Procedure} eval-environment-set-imported! env imported
|
||||||
|
@deffnx {C Function} scm_eval_environment_set_imported_x (env, imported)
|
||||||
Change @var{env}'s imported environment to @var{imported}.
|
Change @var{env}'s imported environment to @var{imported}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-import-environment imports conflict_proc
|
@deffn {Scheme Procedure} make-import-environment imports conflict_proc
|
||||||
|
@deffnx {C Function} scm_make_import_environment (imports, conflict_proc)
|
||||||
Return a new environment @var{imp} whose bindings are the union
|
Return a new environment @var{imp} whose bindings are the union
|
||||||
of the bindings from the environments in @var{imports};
|
of the bindings from the environments in @var{imports};
|
||||||
@var{imports} must be a list of environments. That is,
|
@var{imports} must be a list of environments. That is,
|
||||||
|
@ -205,22 +225,26 @@ notice that the set of bindings in @var{imp} may still change,
|
||||||
if one of its imported environments changes.
|
if one of its imported environments changes.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive import-environment? object
|
@deffn {Scheme Procedure} import-environment? object
|
||||||
|
@deffnx {C Function} scm_import_environment_p (object)
|
||||||
Return @code{#t} if object is an import environment, or
|
Return @code{#t} if object is an import environment, or
|
||||||
@code{#f} otherwise.
|
@code{#f} otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive import-environment-imports env
|
@deffn {Scheme Procedure} import-environment-imports env
|
||||||
|
@deffnx {C Function} scm_import_environment_imports (env)
|
||||||
Return the list of environments imported by the import
|
Return the list of environments imported by the import
|
||||||
environment @var{env}.
|
environment @var{env}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive import-environment-set-imports! env imports
|
@deffn {Scheme Procedure} import-environment-set-imports! env imports
|
||||||
|
@deffnx {C Function} scm_import_environment_set_imports_x (env, imports)
|
||||||
Change @var{env}'s list of imported environments to
|
Change @var{env}'s list of imported environments to
|
||||||
@var{imports}, and check for conflicts.
|
@var{imports}, and check for conflicts.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-export-environment private signature
|
@deffn {Scheme Procedure} make-export-environment private signature
|
||||||
|
@deffnx {C Function} scm_make_export_environment (private, signature)
|
||||||
Return a new environment @var{exp} containing only those
|
Return a new environment @var{exp} containing only those
|
||||||
bindings in private whose symbols are present in
|
bindings in private whose symbols are present in
|
||||||
@var{signature}. The @var{private} argument must be an
|
@var{signature}. The @var{private} argument must be an
|
||||||
|
@ -267,34 +291,41 @@ notice that the set of bindings in @var{exp} may still change,
|
||||||
if the bindings in private change.
|
if the bindings in private change.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive export-environment? object
|
@deffn {Scheme Procedure} export-environment? object
|
||||||
|
@deffnx {C Function} scm_export_environment_p (object)
|
||||||
Return @code{#t} if object is an export environment, or
|
Return @code{#t} if object is an export environment, or
|
||||||
@code{#f} otherwise.
|
@code{#f} otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive export-environment-private env
|
@deffn {Scheme Procedure} export-environment-private env
|
||||||
|
@deffnx {C Function} scm_export_environment_private (env)
|
||||||
Return the private environment of export environment @var{env}.
|
Return the private environment of export environment @var{env}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive export-environment-set-private! env private
|
@deffn {Scheme Procedure} export-environment-set-private! env private
|
||||||
|
@deffnx {C Function} scm_export_environment_set_private_x (env, private)
|
||||||
Change the private environment of export environment @var{env}.
|
Change the private environment of export environment @var{env}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive export-environment-signature env
|
@deffn {Scheme Procedure} export-environment-signature env
|
||||||
|
@deffnx {C Function} scm_export_environment_signature (env)
|
||||||
Return the signature of export environment @var{env}.
|
Return the signature of export environment @var{env}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive export-environment-set-signature! env signature
|
@deffn {Scheme Procedure} export-environment-set-signature! env signature
|
||||||
|
@deffnx {C Function} scm_export_environment_set_signature_x (env, signature)
|
||||||
Change the signature of export environment @var{env}.
|
Change the signature of export environment @var{env}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %compute-slots class
|
@deffn {Scheme Procedure} %compute-slots class
|
||||||
|
@deffnx {C Function} scm_sys_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 super-classes.
|
its superclasses.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive get-keyword key l default_value
|
@deffn {Scheme Procedure} get-keyword key l default_value
|
||||||
|
@deffnx {C Function} scm_get_keyword (key, l, default_value)
|
||||||
Determine an associated value for the keyword @var{key} from
|
Determine an associated value for the keyword @var{key} from
|
||||||
the list @var{l}. The list @var{l} has to consist of an even
|
the list @var{l}. The list @var{l} has to consist of an even
|
||||||
number of elements, where, starting with the first, every
|
number of elements, where, starting with the first, every
|
||||||
|
@ -303,222 +334,272 @@ If @var{l} does not hold a value for @var{key}, the value
|
||||||
@var{default_value} is returned.
|
@var{default_value} is returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive slot-ref-using-class class obj slot_name
|
@deffn {Scheme Procedure} slot-ref-using-class class obj slot_name
|
||||||
|
@deffnx {C Function} scm_slot_ref_using_class (class, obj, slot_name)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive slot-set-using-class! class obj slot_name value
|
@deffn {Scheme Procedure} slot-set-using-class! class obj slot_name value
|
||||||
|
@deffnx {C Function} scm_slot_set_using_class_x (class, obj, slot_name, value)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-of x
|
@deffn {Scheme Procedure} class-of x
|
||||||
|
@deffnx {C Function} scm_class_of (x)
|
||||||
Return the class of @var{x}.
|
Return the class of @var{x}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %goops-loaded
|
@deffn {Scheme Procedure} %goops-loaded
|
||||||
|
@deffnx {C Function} scm_sys_goops_loaded ()
|
||||||
Announce that GOOPS is loaded and perform initialization
|
Announce that GOOPS is loaded and perform initialization
|
||||||
on the C level which depends on the loaded GOOPS modules.
|
on the C level which depends on the loaded GOOPS modules.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %method-more-specific? m1 m2 targs
|
@deffn {Scheme Procedure} %method-more-specific? m1 m2 targs
|
||||||
|
@deffnx {C Function} scm_sys_method_more_specific_p (m1, m2, targs)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive find-method . l
|
@deffn {Scheme Procedure} find-method . l
|
||||||
|
@deffnx {C Function} scm_find_method (l)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive primitive-generic-generic subr
|
@deffn {Scheme Procedure} primitive-generic-generic subr
|
||||||
|
@deffnx {C Function} scm_primitive_generic_generic (subr)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive enable-primitive-generic! . subrs
|
@deffn {Scheme Procedure} enable-primitive-generic! . subrs
|
||||||
|
@deffnx {C Function} scm_enable_primitive_generic_x (subrs)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive generic-capability? proc
|
@deffn {Scheme Procedure} generic-capability? proc
|
||||||
|
@deffnx {C Function} scm_generic_capability_p (proc)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %invalidate-method-cache! gf
|
@deffn {Scheme Procedure} %invalidate-method-cache! gf
|
||||||
|
@deffnx {C Function} scm_sys_invalidate_method_cache_x (gf)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %invalidate-class class
|
@deffn {Scheme Procedure} %invalidate-class class
|
||||||
|
@deffnx {C Function} scm_sys_invalidate_class (class)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %modify-class old new
|
@deffn {Scheme Procedure} %modify-class old new
|
||||||
|
@deffnx {C Function} scm_sys_modify_class (old, new)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %modify-instance old new
|
@deffn {Scheme Procedure} %modify-instance old new
|
||||||
|
@deffnx {C Function} scm_sys_modify_instance (old, new)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %set-object-setter! obj setter
|
@deffn {Scheme Procedure} %set-object-setter! obj setter
|
||||||
|
@deffnx {C Function} scm_sys_set_object_setter_x (obj, setter)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %allocate-instance class initargs
|
@deffn {Scheme Procedure} %allocate-instance class initargs
|
||||||
|
@deffnx {C Function} scm_sys_allocate_instance (class, initargs)
|
||||||
Create a new instance of class @var{class} and initialize it
|
Create a new instance of class @var{class} and initialize it
|
||||||
from the arguments @var{initargs}.
|
from the arguments @var{initargs}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive slot-exists? obj slot_name
|
@deffn {Scheme Procedure} slot-exists? obj slot_name
|
||||||
|
@deffnx {C Function} scm_slots_exists_p (obj, slot_name)
|
||||||
Return @code{#t} if @var{obj} has a slot named @var{slot_name}.
|
Return @code{#t} if @var{obj} has a slot named @var{slot_name}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive slot-bound? obj slot_name
|
@deffn {Scheme Procedure} slot-bound? obj slot_name
|
||||||
|
@deffnx {C Function} scm_slot_bound_p (obj, slot_name)
|
||||||
Return @code{#t} if the slot named @var{slot_name} of @var{obj}
|
Return @code{#t} if the slot named @var{slot_name} of @var{obj}
|
||||||
is bound.
|
is bound.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive slot-set! obj slot_name value
|
@deffn {Scheme Procedure} slot-set! obj slot_name value
|
||||||
|
@deffnx {C Function} scm_slot_set_x (obj, slot_name, value)
|
||||||
Set the slot named @var{slot_name} of @var{obj} to @var{value}.
|
Set the slot named @var{slot_name} of @var{obj} to @var{value}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive slot-exists-using-class? class obj slot_name
|
@deffn {Scheme Procedure} slot-exists-using-class? class obj slot_name
|
||||||
|
@deffnx {C Function} scm_slot_exists_using_class_p (class, obj, slot_name)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive slot-bound-using-class? class obj slot_name
|
@deffn {Scheme Procedure} slot-bound-using-class? class obj slot_name
|
||||||
|
@deffnx {C Function} scm_slot_bound_using_class_p (class, obj, slot_name)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %fast-slot-set! obj index value
|
@deffn {Scheme Procedure} %fast-slot-set! obj index value
|
||||||
|
@deffnx {C Function} scm_sys_fast_slot_set_x (obj, index, value)
|
||||||
Set the slot with index @var{index} in @var{obj} to
|
Set the slot with index @var{index} in @var{obj} to
|
||||||
@var{value}.
|
@var{value}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %fast-slot-ref obj index
|
@deffn {Scheme Procedure} %fast-slot-ref obj index
|
||||||
|
@deffnx {C Function} scm_sys_fast_slot_ref (obj, index)
|
||||||
Return the slot value with index @var{index} from @var{obj}.
|
Return the slot value with index @var{index} from @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive @@assert-bound-ref obj index
|
@deffn {Scheme Procedure} @@assert-bound-ref obj index
|
||||||
|
@deffnx {C Function} scm_at_assert_bound_ref (obj, index)
|
||||||
Like @code{assert-bound}, but use @var{index} for accessing
|
Like @code{assert-bound}, but use @var{index} for accessing
|
||||||
the value from @var{obj}.
|
the value from @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive assert-bound value obj
|
@deffn {Scheme Procedure} assert-bound value obj
|
||||||
|
@deffnx {C Function} scm_assert_bound (value, obj)
|
||||||
Return @var{value} if it is bound, and invoke the
|
Return @var{value} if it is bound, and invoke the
|
||||||
@var{slot-unbound} method of @var{obj} if it is not.
|
@var{slot-unbound} method of @var{obj} if it is not.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive unbound? obj
|
@deffn {Scheme Procedure} unbound? obj
|
||||||
|
@deffnx {C Function} scm_unbound_p (obj)
|
||||||
Return @code{#t} if @var{obj} is unbound.
|
Return @code{#t} if @var{obj} is unbound.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-unbound
|
@deffn {Scheme Procedure} make-unbound
|
||||||
|
@deffnx {C Function} scm_make_unbound ()
|
||||||
Return the unbound value.
|
Return the unbound value.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive accessor-method-slot-definition obj
|
@deffn {Scheme Procedure} accessor-method-slot-definition obj
|
||||||
|
@deffnx {C Function} scm_accessor_method_slot_definition (obj)
|
||||||
Return the slot definition of the accessor @var{obj}.
|
Return the slot definition of the accessor @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive method-procedure obj
|
@deffn {Scheme Procedure} method-procedure obj
|
||||||
|
@deffnx {C Function} scm_method_procedure (obj)
|
||||||
Return the procedure of the method @var{obj}.
|
Return the procedure of the method @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive method-specializers obj
|
@deffn {Scheme Procedure} method-specializers obj
|
||||||
|
@deffnx {C Function} scm_method_specializers (obj)
|
||||||
Return specializers of the method @var{obj}.
|
Return specializers of the method @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive method-generic-function obj
|
@deffn {Scheme Procedure} method-generic-function obj
|
||||||
|
@deffnx {C Function} scm_method_generic_function (obj)
|
||||||
Return the generic function for the method @var{obj}.
|
Return the generic function for the method @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive generic-function-methods obj
|
@deffn {Scheme Procedure} generic-function-methods obj
|
||||||
|
@deffnx {C Function} scm_generic_function_methods (obj)
|
||||||
Return the methods of the generic function @var{obj}.
|
Return the methods of the generic function @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive generic-function-name obj
|
@deffn {Scheme Procedure} generic-function-name obj
|
||||||
|
@deffnx {C Function} scm_generic_function_name (obj)
|
||||||
Return the name of the generic function @var{obj}.
|
Return the name of the generic function @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-environment obj
|
@deffn {Scheme Procedure} class-environment obj
|
||||||
|
@deffnx {C Function} scm_class_environment (obj)
|
||||||
Return the environment of the class @var{obj}.
|
Return the environment of the class @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-slots obj
|
@deffn {Scheme Procedure} class-slots obj
|
||||||
|
@deffnx {C Function} scm_class_slots (obj)
|
||||||
Return the slot list of the class @var{obj}.
|
Return the slot list of the class @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-precedence-list obj
|
@deffn {Scheme Procedure} class-precedence-list obj
|
||||||
|
@deffnx {C Function} scm_class_precedence_list (obj)
|
||||||
Return the class precedence list of the class @var{obj}.
|
Return the class precedence list of the class @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-direct-methods obj
|
@deffn {Scheme Procedure} class-direct-methods obj
|
||||||
|
@deffnx {C Function} scm_class_direct_methods (obj)
|
||||||
Return the direct methods of the class @var{obj}
|
Return the direct methods of the class @var{obj}
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-direct-subclasses obj
|
@deffn {Scheme Procedure} class-direct-subclasses obj
|
||||||
|
@deffnx {C Function} scm_class_direct_subclasses (obj)
|
||||||
Return the direct subclasses of the class @var{obj}.
|
Return the direct subclasses of the class @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-direct-slots obj
|
@deffn {Scheme Procedure} class-direct-slots obj
|
||||||
|
@deffnx {C Function} scm_class_direct_slots (obj)
|
||||||
Return the direct slots of the class @var{obj}.
|
Return the direct slots of the class @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-direct-supers obj
|
@deffn {Scheme Procedure} class-direct-supers obj
|
||||||
Return the direct super-classes of the class @var{obj}.
|
@deffnx {C Function} scm_class_direct_supers (obj)
|
||||||
|
Return the direct superclasses of the class @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive class-name obj
|
@deffn {Scheme Procedure} class-name obj
|
||||||
|
@deffnx {C Function} scm_class_name (obj)
|
||||||
Return the class name of @var{obj}.
|
Return the class name of @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive instance? obj
|
@deffn {Scheme Procedure} instance? obj
|
||||||
|
@deffnx {C Function} scm_instance_p (obj)
|
||||||
Return @code{#t} if @var{obj} is an instance.
|
Return @code{#t} if @var{obj} is an instance.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %inherit-magic! class dsupers
|
@deffn {Scheme Procedure} %inherit-magic! class dsupers
|
||||||
|
@deffnx {C Function} scm_sys_inherit_magic_x (class, dsupers)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %prep-layout! class
|
@deffn {Scheme Procedure} %prep-layout! class
|
||||||
|
@deffnx {C Function} scm_sys_prep_layout_x (class)
|
||||||
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %initialize-object obj initargs
|
@deffn {Scheme Procedure} %initialize-object obj initargs
|
||||||
|
@deffnx {C Function} scm_sys_initialize_object (obj, initargs)
|
||||||
Initialize the object @var{obj} with the given arguments
|
Initialize the object @var{obj} with the given arguments
|
||||||
@var{initargs}.
|
@var{initargs}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make . args
|
@deffn {Scheme Procedure} make . args
|
||||||
|
@deffnx {C Function} scm_make (args)
|
||||||
Make a new object. @var{args} must contain the class and
|
Make a new object. @var{args} must contain the class and
|
||||||
all necessary initialization information.
|
all necessary initialization information.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive slot-ref obj slot_name
|
@deffn {Scheme Procedure} slot-ref obj slot_name
|
||||||
|
@deffnx {C Function} scm_slot_ref (obj, slot_name)
|
||||||
Return the value from @var{obj}'s slot with the name
|
Return the value from @var{obj}'s slot with the name
|
||||||
@var{slot_name}.
|
@var{slot_name}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive builtin-bindings
|
@deffn {Scheme Procedure} builtin-bindings
|
||||||
Create and return a copy of the global symbol table, removing all
|
Create and return a copy of the global symbol table, removing all
|
||||||
unbound symbols.
|
unbound symbols.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %tag-body body
|
@deffn {Scheme Procedure} %tag-body body
|
||||||
|
@deffnx {C Function} scm_sys_tag_body (body)
|
||||||
Internal GOOPS magic---don't use this function!
|
Internal GOOPS magic---don't use this function!
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive list*
|
@deffn {Scheme Procedure} list*
|
||||||
implemented by the C function "scm_cons_star"
|
implemented by the C function "scm_cons_star"
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-current-module module
|
@deffn {Scheme Procedure} set-current-module module
|
||||||
|
@deffnx {C Function} scm_set_current_module (module)
|
||||||
Set the current module to @var{module} and return
|
Set the current module to @var{module} and return
|
||||||
the previous current module.
|
the previous current module.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive current-module
|
@deffn {Scheme Procedure} current-module
|
||||||
|
@deffnx {C Function} scm_current_module ()
|
||||||
Return the current module.
|
Return the current module.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive c-clear-registered-modules
|
@deffn {Scheme Procedure} c-clear-registered-modules
|
||||||
|
@deffnx {C Function} scm_clear_registered_modules ()
|
||||||
Destroy the list of modules registered with the current Guile process.
|
Destroy the list of modules registered with the current Guile process.
|
||||||
The return value is unspecified. @strong{Warning:} this function does
|
The return value is unspecified. @strong{Warning:} this function does
|
||||||
not actually unlink or deallocate these modules, but only destroys the
|
not actually unlink or deallocate these modules, but only destroys the
|
||||||
|
@ -526,7 +607,8 @@ records of which modules have been loaded. It should therefore be used
|
||||||
only by module bookkeeping operations.
|
only by module bookkeeping operations.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive c-registered-modules
|
@deffn {Scheme Procedure} c-registered-modules
|
||||||
|
@deffnx {C Function} scm_registered_modules ()
|
||||||
Return a list of the object code modules that have been imported into
|
Return a list of the object code modules that have been imported into
|
||||||
the current Guile process. Each element of the list is a pair whose
|
the current Guile process. Each element of the list is a pair whose
|
||||||
car is the name of the module, and whose cdr is the function handle
|
car is the name of the module, and whose cdr is the function handle
|
||||||
|
@ -534,12 +616,12 @@ for that module's initializer function. The name is the string that
|
||||||
has been passed to scm_register_module_xxx.
|
has been passed to scm_register_module_xxx.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive include-deprecated-features
|
@deffn {Scheme Procedure} include-deprecated-features
|
||||||
Return @code{#t} iff deprecated features should be included
|
Return @code{#t} iff deprecated features should be included
|
||||||
in public interfaces.
|
in public interfaces.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive issue-deprecation-warning . msgs
|
@deffn {Scheme Procedure} issue-deprecation-warning . msgs
|
||||||
Output @var{msgs} to @code{(current-error-port)} when this
|
Output @var{msgs} to @code{(current-error-port)} when this
|
||||||
is the first call to @code{issue-deprecation-warning} with
|
is the first call to @code{issue-deprecation-warning} with
|
||||||
this specific @var{msg}. Do nothing otherwise.
|
this specific @var{msg}. Do nothing otherwise.
|
||||||
|
@ -547,27 +629,33 @@ The argument @var{msgs} should be a list of strings;
|
||||||
they are printed in turn, each one followed by a newline.
|
they are printed in turn, each one followed by a newline.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive variable-set-name-hint! var hint
|
@deffn {Scheme Procedure} variable-set-name-hint! var hint
|
||||||
|
@deffnx {C Function} scm_variable_set_name_hint (var, hint)
|
||||||
Do not use this function.
|
Do not use this function.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive valid-object-procedure? proc
|
@deffn {Scheme Procedure} valid-object-procedure? proc
|
||||||
|
@deffnx {C Function} scm_valid_object_procedure_p (proc)
|
||||||
Return @code{#t} iff @var{proc} is a procedure that can be used with @code{set-object-procedure}. It is always valid to use a closure constructed by @code{lambda}.
|
Return @code{#t} iff @var{proc} is a procedure that can be used with @code{set-object-procedure}. It is always valid to use a closure constructed by @code{lambda}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %get-pre-modules-obarray
|
@deffn {Scheme Procedure} %get-pre-modules-obarray
|
||||||
|
@deffnx {C Function} scm_get_pre_modules_obarray ()
|
||||||
Return the obarray that is used for all new bindings before the module system is booted. The first call to @code{set-current-module} will boot the module system.
|
Return the obarray that is used for all new bindings before the module system is booted. The first call to @code{set-current-module} will boot the module system.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive standard-interface-eval-closure module
|
@deffn {Scheme Procedure} standard-interface-eval-closure module
|
||||||
|
@deffnx {C Function} scm_standard_interface_eval_closure (module)
|
||||||
Return a interface eval closure for the module @var{module}. Such a closure does not allow new bindings to be added.
|
Return a interface eval closure for the module @var{module}. Such a closure does not allow new bindings to be added.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive env-module env
|
@deffn {Scheme Procedure} env-module env
|
||||||
|
@deffnx {C Function} scm_env_module (env)
|
||||||
Return the module of @var{ENV}, a lexical environment.
|
Return the module of @var{ENV}, a lexical environment.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive load-extension lib init
|
@deffn {Scheme Procedure} load-extension lib init
|
||||||
|
@deffnx {C Function} scm_load_extension (lib, init)
|
||||||
Load and initialize the extension designated by LIB and INIT.
|
Load and initialize the extension designated by LIB and INIT.
|
||||||
When there is no pre-registered function for LIB/INIT, this is
|
When there is no pre-registered function for LIB/INIT, this is
|
||||||
equivalent to
|
equivalent to
|
||||||
|
@ -603,3 +691,15 @@ well. For example,
|
||||||
(load-extension "libguile-bla-blum" "bla_init_blum")
|
(load-extension "libguile-bla-blum" "bla_init_blum")
|
||||||
@end lisp
|
@end lisp
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} single-active-thread?
|
||||||
|
implemented by the C function "scm_single_thread_p"
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} substring-move-right!
|
||||||
|
implemented by the C function "scm_substring_move_x"
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} substring-move-left!
|
||||||
|
implemented by the C function "scm_substring_move_x"
|
||||||
|
@end deffn
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -268,7 +268,8 @@ 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}.
|
||||||
|
|
||||||
@c NJFIXME explain [env]
|
@c NJFIXME explain [env]
|
||||||
@deffn primitive defined? sym [env]
|
@deffn {Scheme Procedure} defined? sym [env]
|
||||||
|
@deffnx {C Function} scm_definedp (sym, env)
|
||||||
Return @code{#t} if @var{sym} is defined in the lexical environment @var{env}. When @var{env} is not specified, look in the top-level environment as defined by the current module.
|
Return @code{#t} if @var{sym} is defined in the lexical environment @var{env}. When @var{env} is not specified, look in the top-level environment as defined by the current module.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
|
@ -272,7 +272,7 @@ for escape procedures and your program is running too slow, you might
|
||||||
want to use exceptions (@pxref{Exceptions}) instead.
|
want to use exceptions (@pxref{Exceptions}) instead.
|
||||||
|
|
||||||
@rnindex call-with-current-continuation
|
@rnindex call-with-current-continuation
|
||||||
@deffn primitive call-with-current-continuation proc
|
@deffn {Scheme Procedure} call-with-current-continuation proc
|
||||||
Capture the current continuation and call @var{proc} with the captured
|
Capture the current continuation and call @var{proc} with the captured
|
||||||
continuation as the single argument. This continuation can then be
|
continuation as the single argument. This continuation can then be
|
||||||
called with arbitrarily many arguments. Such a call will work like a
|
called with arbitrarily many arguments. Such a call will work like a
|
||||||
|
@ -324,7 +324,8 @@ multiple values with a procedure which accepts these values as
|
||||||
parameters.
|
parameters.
|
||||||
|
|
||||||
@rnindex values
|
@rnindex values
|
||||||
@deffn primitive values expr @dots{}
|
@deffn {Scheme Procedure} values . args
|
||||||
|
@deffnx {C Function} scm_values (args)
|
||||||
Delivers all of its arguments to its continuation. Except for
|
Delivers all of its arguments to its continuation. Except for
|
||||||
continuations created by the @code{call-with-values} procedure,
|
continuations created by the @code{call-with-values} procedure,
|
||||||
all continuations take exactly one value. The effect of
|
all continuations take exactly one value. The effect of
|
||||||
|
@ -333,7 +334,7 @@ were not created by @code{call-with-values} is unspecified.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex call-with-values
|
@rnindex call-with-values
|
||||||
@deffn primitive call-with-values producer consumer
|
@deffn {Scheme Procedure} call-with-values producer consumer
|
||||||
Calls its @var{producer} argument with no values and a
|
Calls its @var{producer} argument with no values and a
|
||||||
continuation that, when passed some values, calls the
|
continuation that, when passed some values, calls the
|
||||||
@var{consumer} procedure with those values as arguments. The
|
@var{consumer} procedure with those values as arguments. The
|
||||||
|
@ -489,7 +490,8 @@ procedure must be designed to accept a number of arguments that
|
||||||
corresponds to the number of arguments in all @code{throw} expressions
|
corresponds to the number of arguments in all @code{throw} expressions
|
||||||
that can be caught by this @code{catch}.
|
that can be caught by this @code{catch}.
|
||||||
|
|
||||||
@deffn primitive catch key thunk handler
|
@deffn {Scheme Procedure} catch key thunk handler
|
||||||
|
@deffnx {C Function} scm_catch (key, thunk, handler)
|
||||||
Invoke @var{thunk} in the dynamic context of @var{handler} for
|
Invoke @var{thunk} in the dynamic context of @var{handler} for
|
||||||
exceptions matching @var{key}. If thunk throws to the symbol
|
exceptions matching @var{key}. If thunk throws to the symbol
|
||||||
@var{key}, then @var{handler} is invoked this way:
|
@var{key}, then @var{handler} is invoked this way:
|
||||||
|
@ -544,7 +546,8 @@ depends on the exception type. The documentation for each possible type
|
||||||
of exception should specify the additional arguments that are expected
|
of exception should specify the additional arguments that are expected
|
||||||
for that kind of exception.
|
for that kind of exception.
|
||||||
|
|
||||||
@deffn primitive throw key . args
|
@deffn {Scheme Procedure} throw key . args
|
||||||
|
@deffnx {C Function} scm_throw (key, args)
|
||||||
Invoke the catch form matching @var{key}, passing @var{args} to the
|
Invoke the catch form matching @var{key}, passing @var{args} to the
|
||||||
@var{handler}.
|
@var{handler}.
|
||||||
|
|
||||||
|
@ -606,7 +609,8 @@ one important respect: the handler procedure is executed without
|
||||||
unwinding the call stack from the context of the @code{throw} expression
|
unwinding the call stack from the context of the @code{throw} expression
|
||||||
that caused the handler to be invoked.
|
that caused the handler to be invoked.
|
||||||
|
|
||||||
@deffn primitive lazy-catch key thunk handler
|
@deffn {Scheme Procedure} lazy-catch key thunk handler
|
||||||
|
@deffnx {C Function} scm_lazy_catch (key, thunk, handler)
|
||||||
This behaves exactly like @code{catch}, except that it does
|
This behaves exactly like @code{catch}, except that it does
|
||||||
not unwind the stack before invoking @var{handler}.
|
not unwind the stack before invoking @var{handler}.
|
||||||
The @var{handler} procedure is not allowed to return:
|
The @var{handler} procedure is not allowed to return:
|
||||||
|
@ -727,12 +731,13 @@ Guile provides a set of convenience procedures for signaling error
|
||||||
conditions that are implemented on top of the exception primitives just
|
conditions that are implemented on top of the exception primitives just
|
||||||
described.
|
described.
|
||||||
|
|
||||||
@deffn procedure error msg args @dots{}
|
@deffn {Scheme Procedure} error msg args @dots{}
|
||||||
Raise an error with key @code{misc-error} and a message constructed by
|
Raise an error with key @code{misc-error} and a message constructed by
|
||||||
displaying @var{msg} and writing @var{args}.
|
displaying @var{msg} and writing @var{args}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive scm-error key subr message args data
|
@deffn {Scheme Procedure} scm-error key subr message args data
|
||||||
|
@deffnx {C Function} scm_error_scm (key, subr, message, args, data)
|
||||||
Raise an error with key @var{key}. @var{subr} can be a string
|
Raise an error with key @var{key}. @var{subr} can be a string
|
||||||
naming the procedure associated with the error, or @code{#f}.
|
naming the procedure associated with the error, or @code{#f}.
|
||||||
@var{message} is the error message string, possibly containing
|
@var{message} is the error message string, possibly containing
|
||||||
|
@ -748,7 +753,8 @@ should be a list containing the Unix signal number; otherwise
|
||||||
it will usually be @code{#f}.
|
it will usually be @code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive strerror err
|
@deffn {Scheme Procedure} strerror err
|
||||||
|
@deffnx {C Function} scm_strerror (err)
|
||||||
Return the Unix error message corresponding to @var{err}, which
|
Return the Unix error message corresponding to @var{err}, which
|
||||||
must be an integer value.
|
must be an integer value.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -768,7 +774,8 @@ if an exception occurs then @code{#f} is returned instead.
|
||||||
be reviewed]
|
be reviewed]
|
||||||
|
|
||||||
@rnindex dynamic-wind
|
@rnindex dynamic-wind
|
||||||
@deffn primitive dynamic-wind in_guard thunk out_guard
|
@deffn {Scheme Procedure} dynamic-wind in_guard thunk out_guard
|
||||||
|
@deffnx {C Function} scm_dynamic_wind (in_guard, thunk, out_guard)
|
||||||
All three arguments must be 0-argument procedures.
|
All three arguments must be 0-argument procedures.
|
||||||
@var{in_guard} is called, then @var{thunk}, then
|
@var{in_guard} is called, then @var{thunk}, then
|
||||||
@var{out_guard}.
|
@var{out_guard}.
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -6,7 +6,8 @@
|
||||||
from the appendix describing the debugger UI. The intro
|
from the appendix describing the debugger UI. The intro
|
||||||
should have a pointer to the UI appendix.
|
should have a pointer to the UI appendix.
|
||||||
|
|
||||||
@deffn primitive display-error stack port subr message args rest
|
@deffn {Scheme Procedure} display-error stack port subr message args rest
|
||||||
|
@deffnx {C Function} scm_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 occurred and
|
the name of the procedure in which the error occurred and
|
||||||
|
@ -16,13 +17,15 @@ the list @var{args} accordingly. @var{rest} is currently
|
||||||
ignored.
|
ignored.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive display-application frame [port [indent]]
|
@deffn {Scheme Procedure} display-application frame [port [indent]]
|
||||||
|
@deffnx {C Function} scm_display_application (frame, port, indent)
|
||||||
Display a procedure application @var{frame} to the output port
|
Display a procedure application @var{frame} to the output port
|
||||||
@var{port}. @var{indent} specifies the indentation of the
|
@var{port}. @var{indent} specifies the indentation of the
|
||||||
output.
|
output.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive display-backtrace stack port [first [depth]]
|
@deffn {Scheme Procedure} display-backtrace stack port [first [depth]]
|
||||||
|
@deffnx {C Function} scm_display_backtrace (stack, port, first, depth)
|
||||||
Display a backtrace to the output port @var{port}. @var{stack}
|
Display a backtrace to the output port @var{port}. @var{stack}
|
||||||
is the stack to take the backtrace from, @var{first} specifies
|
is the stack to take the backtrace from, @var{first} specifies
|
||||||
where in the stack to start and @var{depth} how much frames
|
where in the stack to start and @var{depth} how much frames
|
||||||
|
@ -30,12 +33,13 @@ to display. Both @var{first} and @var{depth} can be @code{#f},
|
||||||
which means that default values will be used.
|
which means that default values will be used.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive backtrace
|
@deffn {Scheme Procedure} backtrace
|
||||||
|
@deffnx {C Function} scm_backtrace ()
|
||||||
Display a backtrace of the stack saved by the last error
|
Display a backtrace of the stack saved by the last error
|
||||||
to the current output port.
|
to the current output port.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive malloc-stats
|
@deffn {Scheme Procedure} malloc-stats
|
||||||
Return an alist ((@var{what} . @var{n}) ...) describing number
|
Return an alist ((@var{what} . @var{n}) ...) describing number
|
||||||
of malloced objects.
|
of malloced objects.
|
||||||
@var{what} is the second argument to @code{scm_must_malloc},
|
@var{what} is the second argument to @code{scm_must_malloc},
|
||||||
|
@ -43,98 +47,120 @@ of malloced objects.
|
||||||
allocated.
|
allocated.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive debug-options-interface [setting]
|
@deffn {Scheme Procedure} debug-options-interface [setting]
|
||||||
|
@deffnx {C Function} scm_debug_options (setting)
|
||||||
Option interface for the debug options. Instead of using
|
Option interface for the debug options. Instead of using
|
||||||
this procedure directly, use the procedures @code{debug-enable},
|
this procedure directly, use the procedures @code{debug-enable},
|
||||||
@code{debug-disable}, @code{debug-set!} and @var{debug-options}.
|
@code{debug-disable}, @code{debug-set!} and @var{debug-options}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive with-traps thunk
|
@deffn {Scheme Procedure} with-traps thunk
|
||||||
|
@deffnx {C Function} scm_with_traps (thunk)
|
||||||
Call @var{thunk} with traps enabled.
|
Call @var{thunk} with traps enabled.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive memoized? obj
|
@deffn {Scheme Procedure} memoized? obj
|
||||||
|
@deffnx {C Function} scm_memoized_p (obj)
|
||||||
Return @code{#t} if @var{obj} is memoized.
|
Return @code{#t} if @var{obj} is memoized.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive unmemoize m
|
@deffn {Scheme Procedure} unmemoize m
|
||||||
|
@deffnx {C Function} scm_unmemoize (m)
|
||||||
Unmemoize the memoized expression @var{m},
|
Unmemoize the memoized expression @var{m},
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive memoized-environment m
|
@deffn {Scheme Procedure} memoized-environment m
|
||||||
|
@deffnx {C Function} scm_memoized_environment (m)
|
||||||
Return the environment of the memoized expression @var{m}.
|
Return the environment of the memoized expression @var{m}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure-name proc
|
@deffn {Scheme Procedure} procedure-name proc
|
||||||
|
@deffnx {C Function} scm_procedure_name (proc)
|
||||||
Return the name of the procedure @var{proc}
|
Return the name of the procedure @var{proc}
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure-source proc
|
@deffn {Scheme Procedure} procedure-source proc
|
||||||
|
@deffnx {C Function} scm_procedure_source (proc)
|
||||||
Return the source of the procedure @var{proc}.
|
Return the source of the procedure @var{proc}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure-environment proc
|
@deffn {Scheme Procedure} procedure-environment proc
|
||||||
|
@deffnx {C Function} scm_procedure_environment (proc)
|
||||||
Return the environment of the procedure @var{proc}.
|
Return the environment of the procedure @var{proc}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive debug-object? obj
|
@deffn {Scheme Procedure} debug-object? obj
|
||||||
|
@deffnx {C Function} scm_debug_object_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a debug object.
|
Return @code{#t} if @var{obj} is a debug object.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-arguments frame
|
@deffn {Scheme Procedure} frame-arguments frame
|
||||||
|
@deffnx {C Function} scm_frame_arguments (frame)
|
||||||
Return the arguments of @var{frame}.
|
Return the arguments of @var{frame}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-evaluating-args? frame
|
@deffn {Scheme Procedure} frame-evaluating-args? frame
|
||||||
|
@deffnx {C Function} scm_frame_evaluating_args_p (frame)
|
||||||
Return @code{#t} if @var{frame} contains evaluated arguments.
|
Return @code{#t} if @var{frame} contains evaluated arguments.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-next frame
|
@deffn {Scheme Procedure} frame-next frame
|
||||||
|
@deffnx {C Function} scm_frame_next (frame)
|
||||||
Return the next frame of @var{frame}, or @code{#f} if
|
Return the next frame of @var{frame}, or @code{#f} if
|
||||||
@var{frame} is the last frame in its stack.
|
@var{frame} is the last frame in its stack.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-number frame
|
@deffn {Scheme Procedure} frame-number frame
|
||||||
|
@deffnx {C Function} scm_frame_number (frame)
|
||||||
Return the frame number of @var{frame}.
|
Return the frame number of @var{frame}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-overflow? frame
|
@deffn {Scheme Procedure} frame-overflow? frame
|
||||||
|
@deffnx {C Function} scm_frame_overflow_p (frame)
|
||||||
Return @code{#t} if @var{frame} is an overflow frame.
|
Return @code{#t} if @var{frame} is an overflow frame.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-previous frame
|
@deffn {Scheme Procedure} frame-previous frame
|
||||||
|
@deffnx {C Function} scm_frame_previous (frame)
|
||||||
Return the previous frame of @var{frame}, or @code{#f} if
|
Return the previous frame of @var{frame}, or @code{#f} if
|
||||||
@var{frame} is the first frame in its stack.
|
@var{frame} is the first frame in its stack.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-procedure frame
|
@deffn {Scheme Procedure} frame-procedure frame
|
||||||
|
@deffnx {C Function} scm_frame_procedure (frame)
|
||||||
Return the procedure for @var{frame}, or @code{#f} if no
|
Return the procedure for @var{frame}, or @code{#f} if no
|
||||||
procedure is associated with @var{frame}.
|
procedure is associated with @var{frame}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-procedure? frame
|
@deffn {Scheme Procedure} frame-procedure? frame
|
||||||
|
@deffnx {C Function} scm_frame_procedure_p (frame)
|
||||||
Return @code{#t} if a procedure is associated with @var{frame}.
|
Return @code{#t} if a procedure is associated with @var{frame}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-real? frame
|
@deffn {Scheme Procedure} frame-real? frame
|
||||||
|
@deffnx {C Function} scm_frame_real_p (frame)
|
||||||
Return @code{#t} if @var{frame} is a real frame.
|
Return @code{#t} if @var{frame} is a real frame.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-source frame
|
@deffn {Scheme Procedure} frame-source frame
|
||||||
|
@deffnx {C Function} scm_frame_source (frame)
|
||||||
Return the source of @var{frame}.
|
Return the source of @var{frame}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame? obj
|
@deffn {Scheme Procedure} frame? obj
|
||||||
|
@deffnx {C Function} scm_frame_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a stack frame.
|
Return @code{#t} if @var{obj} is a stack frame.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive last-stack-frame obj
|
@deffn {Scheme Procedure} last-stack-frame obj
|
||||||
|
@deffnx {C Function} scm_last_stack_frame (obj)
|
||||||
Return a stack which consists of a single frame, which is the
|
Return a stack which consists of a single frame, which is the
|
||||||
last stack frame for @var{obj}. @var{obj} must be either a
|
last stack frame for @var{obj}. @var{obj} must be either a
|
||||||
debug object or a continuation.
|
debug object or a continuation.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-stack obj . args
|
@deffn {Scheme Procedure} make-stack obj . args
|
||||||
|
@deffnx {C Function} scm_make_stack (obj, args)
|
||||||
Create a new stack. If @var{obj} is @code{#t}, the current
|
Create a new stack. If @var{obj} is @code{#t}, the current
|
||||||
evaluation stack is used for creating the stack frames,
|
evaluation stack is used for creating the stack frames,
|
||||||
otherwise the frames are taken from @var{obj} (which must be
|
otherwise the frames are taken from @var{obj} (which must be
|
||||||
|
@ -165,19 +191,23 @@ If the @var{outer_cut_N} of the last pair is missing, it is
|
||||||
taken as 0.
|
taken as 0.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive stack-id stack
|
@deffn {Scheme Procedure} stack-id stack
|
||||||
|
@deffnx {C Function} scm_stack_id (stack)
|
||||||
Return the identifier given to @var{stack} by @code{start-stack}.
|
Return the identifier given to @var{stack} by @code{start-stack}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive stack-length stack
|
@deffn {Scheme Procedure} stack-length stack
|
||||||
|
@deffnx {C Function} scm_stack_length (stack)
|
||||||
Return the length of @var{stack}.
|
Return the length of @var{stack}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive stack-ref stack index
|
@deffn {Scheme Procedure} stack-ref stack index
|
||||||
|
@deffnx {C Function} scm_stack_ref (stack, index)
|
||||||
Return the @var{index}'th frame from @var{stack}.
|
Return the @var{index}'th frame from @var{stack}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive stack? obj
|
@deffn {Scheme Procedure} stack? obj
|
||||||
|
@deffnx {C Function} scm_stack_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a calling stack.
|
Return @code{#t} if @var{obj} is a calling stack.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
|
@ -122,7 +122,8 @@ to use uppercase letters in their identifiers anyway.
|
||||||
@node Reader Extensions
|
@node Reader Extensions
|
||||||
@subsection Reader Extensions
|
@subsection Reader Extensions
|
||||||
|
|
||||||
@deffn primitive read-hash-extend chr proc
|
@deffn {Scheme Procedure} read-hash-extend chr proc
|
||||||
|
@deffnx {C Function} scm_read_hash_extend (chr, proc)
|
||||||
Install the procedure @var{proc} for reading expressions
|
Install the procedure @var{proc} for reading expressions
|
||||||
starting with the character sequence @code{#} and @var{chr}.
|
starting with the character sequence @code{#} and @var{chr}.
|
||||||
@var{proc} will be called with two arguments: the character
|
@var{proc} will be called with two arguments: the character
|
||||||
|
@ -135,7 +136,8 @@ returned will be the return value of @code{read}.
|
||||||
@section Reading Scheme Code
|
@section Reading Scheme Code
|
||||||
|
|
||||||
@rnindex read
|
@rnindex read
|
||||||
@deffn primitive read [port]
|
@deffn {Scheme Procedure} read [port]
|
||||||
|
@deffnx {C Function} scm_read (port)
|
||||||
Read an s-expression from the input port @var{port}, or from
|
Read an s-expression from the input port @var{port}, or from
|
||||||
the current input port if @var{port} is not specified.
|
the current input port if @var{port} is not specified.
|
||||||
Any whitespace before the next token is discarded.
|
Any whitespace before the next token is discarded.
|
||||||
|
@ -149,7 +151,7 @@ available, @xref{Reader options}.
|
||||||
@c FIXME::martin: This is taken from libguile/options.c. Is there
|
@c FIXME::martin: This is taken from libguile/options.c. Is there
|
||||||
@c actually a difference between 'help and 'full?
|
@c actually a difference between 'help and 'full?
|
||||||
|
|
||||||
@deffn procedure read-options [setting]
|
@deffn {Scheme Procedure} read-options [setting]
|
||||||
Display the current settings of the read options. If @var{setting} is
|
Display the current settings of the read options. If @var{setting} is
|
||||||
omitted, only a short form of the current read options is printed.
|
omitted, only a short form of the current read options is printed.
|
||||||
Otherwise, @var{setting} should be one of the following symbols:
|
Otherwise, @var{setting} should be one of the following symbols:
|
||||||
|
@ -161,15 +163,16 @@ Like @code{help}, but also print programmer options.
|
||||||
@end table
|
@end table
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure read-enable option-name
|
@deffn {Scheme Procedure} read-enable option-name
|
||||||
@deffnx procedure read-disable option-name
|
@deffnx {Scheme Procedure} read-disable option-name
|
||||||
@deffnx procedure read-set! option-name value
|
@deffnx {Scheme Procedure} read-set! option-name value
|
||||||
Modify the read options. @code{read-enable} should be used with boolean
|
Modify the read options. @code{read-enable} should be used with boolean
|
||||||
options and switches them on, @code{read-disable} switches them off.
|
options and switches them on, @code{read-disable} switches them off.
|
||||||
@code{read-set!} can be used to set an option to a specific value.
|
@code{read-set!} can be used to set an option to a specific value.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive read-options-interface [setting]
|
@deffn {Scheme Procedure} read-options-interface [setting]
|
||||||
|
@deffnx {C Function} scm_read_options (setting)
|
||||||
Option interface for the read options. Instead of using
|
Option interface for the read options. Instead of using
|
||||||
this procedure directly, use the procedures @code{read-enable},
|
this procedure directly, use the procedures @code{read-enable},
|
||||||
@code{read-disable}, @code{read-set!} and @code{read-options}.
|
@code{read-disable}, @code{read-set!} and @code{read-options}.
|
||||||
|
@ -181,16 +184,18 @@ this procedure directly, use the procedures @code{read-enable},
|
||||||
|
|
||||||
@rnindex eval
|
@rnindex eval
|
||||||
@c ARGFIXME environment/environment specifier
|
@c ARGFIXME environment/environment specifier
|
||||||
@deffn primitive eval exp environment
|
@deffn {Scheme Procedure} eval exp module
|
||||||
|
@deffnx {C Function} scm_eval (exp, module)
|
||||||
Evaluate @var{exp}, a list representing a Scheme expression,
|
Evaluate @var{exp}, a list representing a Scheme expression,
|
||||||
in the top-level environment specified by @var{environment}.
|
in the top-level environment specified by @var{module}.
|
||||||
While @var{exp} is evaluated (using @code{primitive-eval}),
|
While @var{exp} is evaluated (using @code{primitive-eval}),
|
||||||
@var{environment} is made the current module. The current module
|
@var{module} is made the current module. The current module
|
||||||
is reset to its previous value when @var{eval} returns.
|
is reset to its previous value when @var{eval} returns.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex interaction-environment
|
@rnindex interaction-environment
|
||||||
@deffn primitive interaction-environment
|
@deffn {Scheme Procedure} interaction-environment
|
||||||
|
@deffnx {C Function} scm_interaction_environment ()
|
||||||
Return a specifier for the environment that contains
|
Return a specifier for the environment that contains
|
||||||
implementation--defined bindings, typically a superset of those
|
implementation--defined bindings, typically a superset of those
|
||||||
listed in the report. The intent is that this procedure will
|
listed in the report. The intent is that this procedure will
|
||||||
|
@ -198,14 +203,16 @@ return the environment in which the implementation would
|
||||||
evaluate expressions dynamically typed by the user.
|
evaluate expressions dynamically typed by the user.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive eval-string string
|
@deffn {Scheme Procedure} eval-string string
|
||||||
|
@deffnx {C Function} scm_eval_string (string)
|
||||||
Evaluate @var{string} as the text representation of a Scheme
|
Evaluate @var{string} as the text representation of a Scheme
|
||||||
form or forms, and return whatever value they produce.
|
form or forms, and return whatever value they produce.
|
||||||
Evaluation takes place in the environment returned by the
|
Evaluation takes place in the environment returned by the
|
||||||
procedure @code{interaction-environment}.
|
procedure @code{interaction-environment}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive apply:nconc2last lst
|
@deffn {Scheme Procedure} apply:nconc2last lst
|
||||||
|
@deffnx {C Function} scm_nconc2last (lst)
|
||||||
Given a list (@var{arg1} @dots{} @var{args}), this function
|
Given a list (@var{arg1} @dots{} @var{args}), this function
|
||||||
conses the @var{arg1} @dots{} arguments onto the front of
|
conses the @var{arg1} @dots{} arguments onto the front of
|
||||||
@var{args}, and returns the resulting list. Note that
|
@var{args}, and returns the resulting list. Note that
|
||||||
|
@ -216,18 +223,20 @@ destroys its argument, so use with care.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex apply
|
@rnindex apply
|
||||||
@deffn primitive apply proc arg1 @dots{} args
|
@deffn {Scheme Procedure} apply proc arg1 @dots{} args
|
||||||
@var{proc} must be a procedure and @var{args} must be a list. Call
|
@var{proc} must be a procedure and @var{args} must be a list. Call
|
||||||
@var{proc} with the elements of the list @code{(append (list @var{arg1}
|
@var{proc} with the elements of the list @code{(append (list @var{arg1}
|
||||||
@dots{}) @var{args})} as the actual arguments.
|
@dots{}) @var{args})} as the actual arguments.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive primitive-eval exp
|
@deffn {Scheme Procedure} primitive-eval exp
|
||||||
|
@deffnx {C Function} scm_primitive_eval (exp)
|
||||||
Evaluate @var{exp} in the top-level environment specified by
|
Evaluate @var{exp} in the top-level environment specified by
|
||||||
the current module.
|
the current module.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive eval2 obj env_thunk
|
@deffn {Scheme Procedure} eval2 obj env_thunk
|
||||||
|
@deffnx {C Function} scm_eval2 (obj, env_thunk)
|
||||||
Evaluate @var{exp}, a Scheme expression, in the environment
|
Evaluate @var{exp}, a Scheme expression, in the environment
|
||||||
designated by @var{lookup}, a symbol-lookup function.
|
designated by @var{lookup}, a symbol-lookup function.
|
||||||
Do not use this version of eval, it does not play well
|
Do not use this version of eval, it does not play well
|
||||||
|
@ -235,7 +244,8 @@ with the module system. Use @code{eval} or
|
||||||
@code{primitive-eval} instead.
|
@code{primitive-eval} instead.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive read-and-eval! [port]
|
@deffn {Scheme Procedure} read-and-eval! [port]
|
||||||
|
@deffnx {C Function} scm_read_and_eval_x (port)
|
||||||
Read a form from @var{port} (standard input by default), and evaluate it
|
Read a form from @var{port} (standard input by default), and evaluate it
|
||||||
(memoizing it in the process) in the top-level environment. If no data
|
(memoizing it in the process) in the top-level environment. If no data
|
||||||
is left to be read from @var{port}, an @code{end-of-file} error is
|
is left to be read from @var{port}, an @code{end-of-file} error is
|
||||||
|
@ -247,7 +257,7 @@ signalled.
|
||||||
@section Loading Scheme Code from File
|
@section Loading Scheme Code from File
|
||||||
|
|
||||||
@rnindex load
|
@rnindex load
|
||||||
@deffn procedure load filename
|
@deffn {Scheme Procedure} load filename
|
||||||
Load @var{filename} and evaluate its contents in the top-level
|
Load @var{filename} and evaluate its contents in the top-level
|
||||||
environment. The load paths are not searched. If the variable
|
environment. The load paths are not searched. If the variable
|
||||||
@code{%load-hook} is defined, it should be bound to a procedure that
|
@code{%load-hook} is defined, it should be bound to a procedure that
|
||||||
|
@ -255,12 +265,13 @@ will be called before any code is loaded. See documentation for
|
||||||
@code{%load-hook} later in this section.
|
@code{%load-hook} later in this section.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure load-from-path filename
|
@deffn {Scheme Procedure} load-from-path filename
|
||||||
Similar to @code{load}, but searches for @var{filename} in the load
|
Similar to @code{load}, but searches for @var{filename} in the load
|
||||||
paths.
|
paths.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive primitive-load filename
|
@deffn {Scheme Procedure} primitive-load filename
|
||||||
|
@deffnx {C Function} scm_primitive_load (filename)
|
||||||
Load the file named @var{filename} and evaluate its contents in
|
Load the file named @var{filename} and evaluate its contents in
|
||||||
the top-level environment. The load paths are not searched;
|
the top-level environment. The load paths are not searched;
|
||||||
@var{filename} must either be a full pathname or be a pathname
|
@var{filename} must either be a full pathname or be a pathname
|
||||||
|
@ -270,14 +281,16 @@ that will be called before any code is loaded. See the
|
||||||
documentation for @code{%load-hook} later in this section.
|
documentation for @code{%load-hook} later in this section.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive primitive-load-path filename
|
@deffn {Scheme Procedure} primitive-load-path filename
|
||||||
|
@deffnx {C Function} scm_primitive_load_path (filename)
|
||||||
Search @var{%load-path} for the file named @var{filename} and
|
Search @var{%load-path} for the file named @var{filename} and
|
||||||
load it into the top-level environment. If @var{filename} is a
|
load it into the top-level environment. If @var{filename} is a
|
||||||
relative pathname and is not found in the list of search paths,
|
relative pathname and is not found in the list of search paths,
|
||||||
an error is signalled.
|
an error is signalled.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %search-load-path filename
|
@deffn {Scheme Procedure} %search-load-path filename
|
||||||
|
@deffnx {C Function} scm_sys_search_load_path (filename)
|
||||||
Search @var{%load-path} for the file named @var{filename},
|
Search @var{%load-path} for the file named @var{filename},
|
||||||
which must be readable by the current user. If @var{filename}
|
which must be readable by the current user. If @var{filename}
|
||||||
is found in the list of paths to search or is an absolute
|
is found in the list of paths to search or is an absolute
|
||||||
|
@ -303,7 +316,8 @@ was passed to @code{primitive-load}.
|
||||||
|
|
||||||
@end defvar
|
@end defvar
|
||||||
|
|
||||||
@deffn primitive current-load-port
|
@deffn {Scheme Procedure} current-load-port
|
||||||
|
@deffnx {C Function} scm_current_load_port ()
|
||||||
Return the current-load-port.
|
Return the current-load-port.
|
||||||
The load port is used internally by @code{primitive-load}.
|
The load port is used internally by @code{primitive-load}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -321,13 +335,15 @@ list @code{("" ".scm")}.
|
||||||
|
|
||||||
[delay]
|
[delay]
|
||||||
|
|
||||||
@deffn primitive promise? obj
|
@deffn {Scheme Procedure} promise? obj
|
||||||
|
@deffnx {C Function} scm_promise_p (obj)
|
||||||
Return true if @var{obj} is a promise, i.e. a delayed computation
|
Return true if @var{obj} is a promise, i.e. a delayed computation
|
||||||
(@pxref{Delayed evaluation,,,r5rs.info,The Revised^5 Report on Scheme}).
|
(@pxref{Delayed evaluation,,,r5rs.info,The Revised^5 Report on Scheme}).
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex force
|
@rnindex force
|
||||||
@deffn primitive force x
|
@deffn {Scheme Procedure} force x
|
||||||
|
@deffnx {C Function} scm_force (x)
|
||||||
If the promise @var{x} has not been computed yet, compute and
|
If the promise @var{x} has not been computed yet, compute and
|
||||||
return @var{x}, otherwise just return the previously computed
|
return @var{x}, otherwise just return the previously computed
|
||||||
value.
|
value.
|
||||||
|
@ -339,7 +355,8 @@ value.
|
||||||
|
|
||||||
[the-environment]
|
[the-environment]
|
||||||
|
|
||||||
@deffn primitive local-eval exp [env]
|
@deffn {Scheme Procedure} local-eval exp [env]
|
||||||
|
@deffnx {C Function} scm_local_eval (exp, env)
|
||||||
Evaluate @var{exp} in its environment. If @var{env} is supplied,
|
Evaluate @var{exp} in its environment. If @var{env} is supplied,
|
||||||
it is the environment in which to evaluate @var{exp}. Otherwise,
|
it is the environment in which to evaluate @var{exp}. Otherwise,
|
||||||
@var{exp} must be a memoized code object (in which case, its environment
|
@var{exp} must be a memoized code object (in which case, its environment
|
||||||
|
@ -361,7 +378,7 @@ available, @xref{Evaluator options}.
|
||||||
@c FIXME::martin: This is taken from libguile/options.c. Is there
|
@c FIXME::martin: This is taken from libguile/options.c. Is there
|
||||||
@c actually a difference between 'help and 'full?
|
@c actually a difference between 'help and 'full?
|
||||||
|
|
||||||
@deffn procedure eval-options [setting]
|
@deffn {Scheme Procedure} eval-options [setting]
|
||||||
Display the current settings of the evaluator options. If @var{setting}
|
Display the current settings of the evaluator options. If @var{setting}
|
||||||
is omitted, only a short form of the current evaluator options is
|
is omitted, only a short form of the current evaluator options is
|
||||||
printed. Otherwise, @var{setting} should be one of the following
|
printed. Otherwise, @var{setting} should be one of the following
|
||||||
|
@ -374,15 +391,16 @@ Like @code{help}, but also print programmer options.
|
||||||
@end table
|
@end table
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure eval-enable option-name
|
@deffn {Scheme Procedure} eval-enable option-name
|
||||||
@deffnx procedure eval-disable option-name
|
@deffnx {Scheme Procedure} eval-disable option-name
|
||||||
@deffnx procedure eval-set! option-name value
|
@deffnx {Scheme Procedure} eval-set! option-name value
|
||||||
Modify the evaluator options. @code{eval-enable} should be used with boolean
|
Modify the evaluator options. @code{eval-enable} should be used with boolean
|
||||||
options and switches them on, @code{eval-disable} switches them off.
|
options and switches them on, @code{eval-disable} switches them off.
|
||||||
@code{eval-set!} can be used to set an option to a specific value.
|
@code{eval-set!} can be used to set an option to a specific value.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive eval-options-interface [setting]
|
@deffn {Scheme Procedure} eval-options-interface [setting]
|
||||||
|
@deffnx {C Function} scm_eval_options_interface (setting)
|
||||||
Option interface for the evaluation options. Instead of using
|
Option interface for the evaluation options. Instead of using
|
||||||
this procedure directly, use the procedures @code{eval-enable},
|
this procedure directly, use the procedures @code{eval-enable},
|
||||||
@code{eval-disable}, @code{eval-set!} and @code{eval-options}.
|
@code{eval-disable}, @code{eval-set!} and @code{eval-options}.
|
||||||
|
@ -391,7 +409,7 @@ this procedure directly, use the procedures @code{eval-enable},
|
||||||
@c FIXME::martin: Why aren't these procedure named like the other options
|
@c FIXME::martin: Why aren't these procedure named like the other options
|
||||||
@c procedures?
|
@c procedures?
|
||||||
|
|
||||||
@deffn procedure traps [setting]
|
@deffn {Scheme Procedure} traps [setting]
|
||||||
Display the current settings of the evaluator traps options. If
|
Display the current settings of the evaluator traps options. If
|
||||||
@var{setting} is omitted, only a short form of the current evaluator
|
@var{setting} is omitted, only a short form of the current evaluator
|
||||||
traps options is printed. Otherwise, @var{setting} should be one of the
|
traps options is printed. Otherwise, @var{setting} should be one of the
|
||||||
|
@ -404,15 +422,16 @@ Like @code{help}, but also print programmer options.
|
||||||
@end table
|
@end table
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure trap-enable option-name
|
@deffn {Scheme Procedure} trap-enable option-name
|
||||||
@deffnx procedure trap-disable option-name
|
@deffnx {Scheme Procedure} trap-disable option-name
|
||||||
@deffnx procedure trap-set! option-name value
|
@deffnx {Scheme Procedure} trap-set! option-name value
|
||||||
Modify the evaluator options. @code{trap-enable} should be used with boolean
|
Modify the evaluator options. @code{trap-enable} should be used with boolean
|
||||||
options and switches them on, @code{trap-disable} switches them off.
|
options and switches them on, @code{trap-disable} switches them off.
|
||||||
@code{trap-set!} can be used to set an option to a specific value.
|
@code{trap-set!} can be used to set an option to a specific value.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive evaluator-traps-interface [setting]
|
@deffn {Scheme Procedure} evaluator-traps-interface [setting]
|
||||||
|
@deffnx {C Function} scm_evaluator_traps (setting)
|
||||||
Option interface for the evaluator trap options.
|
Option interface for the evaluator trap options.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
|
@ -33,20 +33,23 @@ that simulate ports in software. @dfn{Soft ports} and @dfn{string
|
||||||
ports} are two interesting and powerful examples of this technique.
|
ports} are two interesting and powerful examples of this technique.
|
||||||
|
|
||||||
@rnindex input-port?
|
@rnindex input-port?
|
||||||
@deffn primitive input-port? x
|
@deffn {Scheme Procedure} input-port? x
|
||||||
|
@deffnx {C Function} scm_input_port_p (x)
|
||||||
Return @code{#t} if @var{x} is an input port, otherwise return
|
Return @code{#t} if @var{x} is an input port, otherwise return
|
||||||
@code{#f}. Any object satisfying this predicate also satisfies
|
@code{#f}. Any object satisfying this predicate also satisfies
|
||||||
@code{port?}.
|
@code{port?}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex output-port?
|
@rnindex output-port?
|
||||||
@deffn primitive output-port? x
|
@deffn {Scheme Procedure} output-port? x
|
||||||
|
@deffnx {C Function} scm_output_port_p (x)
|
||||||
Return @code{#t} if @var{x} is an output port, otherwise return
|
Return @code{#t} if @var{x} is an output port, otherwise return
|
||||||
@code{#f}. Any object satisfying this predicate also satisfies
|
@code{#f}. Any object satisfying this predicate also satisfies
|
||||||
@code{port?}.
|
@code{port?}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive port? x
|
@deffn {Scheme Procedure} port? x
|
||||||
|
@deffnx {C Function} scm_port_p (x)
|
||||||
Return a boolean indicating whether @var{x} is a port.
|
Return a boolean indicating whether @var{x} is a port.
|
||||||
Equivalent to @code{(or (input-port? @var{x}) (output-port?
|
Equivalent to @code{(or (input-port? @var{x}) (output-port?
|
||||||
@var{x}))}.
|
@var{x}))}.
|
||||||
|
@ -59,13 +62,15 @@ Equivalent to @code{(or (input-port? @var{x}) (output-port?
|
||||||
[Generic procedures for reading from ports.]
|
[Generic procedures for reading from ports.]
|
||||||
|
|
||||||
@rnindex eof-object?
|
@rnindex eof-object?
|
||||||
@deffn primitive eof-object? x
|
@deffn {Scheme Procedure} eof-object? x
|
||||||
|
@deffnx {C Function} scm_eof_object_p (x)
|
||||||
Return @code{#t} if @var{x} is an end-of-file object; otherwise
|
Return @code{#t} if @var{x} is an end-of-file object; otherwise
|
||||||
return @code{#f}.
|
return @code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex char-ready?
|
@rnindex char-ready?
|
||||||
@deffn primitive char-ready? [port]
|
@deffn {Scheme Procedure} char-ready? [port]
|
||||||
|
@deffnx {C Function} scm_char_ready_p (port)
|
||||||
Return @code{#t} if a character is ready on input @var{port}
|
Return @code{#t} if a character is ready on input @var{port}
|
||||||
and return @code{#f} otherwise. If @code{char-ready?} returns
|
and return @code{#f} otherwise. If @code{char-ready?} returns
|
||||||
@code{#t} then the next @code{read-char} operation on
|
@code{#t} then the next @code{read-char} operation on
|
||||||
|
@ -82,14 +87,16 @@ interactive port that has no ready characters.}
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex read-char?
|
@rnindex read-char?
|
||||||
@deffn primitive read-char [port]
|
@deffn {Scheme Procedure} read-char [port]
|
||||||
|
@deffnx {C Function} scm_read_char (port)
|
||||||
Return the next character available from @var{port}, updating
|
Return the next character available from @var{port}, updating
|
||||||
@var{port} to point to the following character. If no more
|
@var{port} to point to the following character. If no more
|
||||||
characters are available, the end-of-file object is returned.
|
characters are available, the end-of-file object is returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex peek-char?
|
@rnindex peek-char?
|
||||||
@deffn primitive peek-char [port]
|
@deffn {Scheme Procedure} peek-char [port]
|
||||||
|
@deffnx {C Function} scm_peek_char (port)
|
||||||
Return the next character available from @var{port},
|
Return the next character available from @var{port},
|
||||||
@emph{without} updating @var{port} to point to the following
|
@emph{without} updating @var{port} to point to the following
|
||||||
character. If no more characters are available, the
|
character. If no more characters are available, the
|
||||||
|
@ -104,21 +111,23 @@ an interactive port will hang waiting for input whenever a call
|
||||||
to @code{read-char} would have hung.}
|
to @code{read-char} would have hung.}
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive unread-char cobj port
|
@deffn {Scheme Procedure} unread-char cobj port
|
||||||
Place @var{char} in @var{port} so that it will be read by the
|
Place @var{char} in @var{port} so that it will be read by the
|
||||||
next read operation. If called multiple times, the unread characters
|
next read operation. If called multiple times, the unread characters
|
||||||
will be read again in last-in first-out order. If @var{port} is
|
will be read again in last-in first-out order. If @var{port} is
|
||||||
not supplied, the current input port is used.
|
not supplied, the current input port is used.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive unread-string str port
|
@deffn {Scheme Procedure} unread-string str port
|
||||||
|
@deffnx {C Function} scm_unread_string (str, port)
|
||||||
Place the string @var{str} in @var{port} so that its characters will be
|
Place the string @var{str} in @var{port} so that its characters will be
|
||||||
read in subsequent read operations. If called multiple times, the
|
read in subsequent read operations. If called multiple times, the
|
||||||
unread characters will be read again in last-in first-out order. If
|
unread characters will be read again in last-in first-out order. If
|
||||||
@var{port} is not supplied, the current-input-port is used.
|
@var{port} is not supplied, the current-input-port is used.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive drain-input port
|
@deffn {Scheme Procedure} drain-input port
|
||||||
|
@deffnx {C Function} scm_drain_input (port)
|
||||||
This procedure clears a port's input buffers, similar
|
This procedure clears a port's input buffers, similar
|
||||||
to the way that force-output clears the output buffer. The
|
to the way that force-output clears the output buffer. The
|
||||||
contents of the buffers are returned as a single string, e.g.,
|
contents of the buffers are returned as a single string, e.g.,
|
||||||
|
@ -135,8 +144,10 @@ buffered I/O so that the file descriptor can be used directly
|
||||||
for further input.
|
for further input.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive port-column port
|
@deffn {Scheme Procedure} port-column port
|
||||||
@deffnx primitive port-line port
|
@deffnx {Scheme Procedure} port-line port
|
||||||
|
@deffnx {C Function} scm_port_column (port)
|
||||||
|
@deffnx {C Function} scm_port_line (port)
|
||||||
Return the current column number or line number of @var{port},
|
Return the current column number or line number of @var{port},
|
||||||
using the current input port if none is specified. If the number is
|
using the current input port if none is specified. If the number is
|
||||||
unknown, the result is #f. Otherwise, the result is a 0-origin integer
|
unknown, the result is #f. Otherwise, the result is a 0-origin integer
|
||||||
|
@ -147,8 +158,10 @@ because lines and column numbers traditionally start with 1, and that is
|
||||||
what non-programmers will find most natural.)
|
what non-programmers will find most natural.)
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-port-column! port column
|
@deffn {Scheme Procedure} set-port-column! port column
|
||||||
@deffnx primitive set-port-line! port line
|
@deffnx {Scheme Procedure} set-port-line! port line
|
||||||
|
@deffnx {C Function} scm_set_port_column_x (port, column)
|
||||||
|
@deffnx {C Function} scm_set_port_line_x (port, line)
|
||||||
Set the current column or line number of @var{port}, using the
|
Set the current column or line number of @var{port}, using the
|
||||||
current input port if none is specified.
|
current input port if none is specified.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -158,13 +171,14 @@ current input port if none is specified.
|
||||||
|
|
||||||
[Generic procedures for writing to ports.]
|
[Generic procedures for writing to ports.]
|
||||||
|
|
||||||
@deffn primitive get-print-state port
|
@deffn {Scheme Procedure} get-print-state port
|
||||||
|
@deffnx {C Function} scm_get_print_state (port)
|
||||||
Return the print state of the port @var{port}. If @var{port}
|
Return the print state of the port @var{port}. If @var{port}
|
||||||
has no associated print state, @code{#f} is returned.
|
has no associated print state, @code{#f} is returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex display
|
@rnindex display
|
||||||
@deffn primitive display obj [port]
|
@deffn {Scheme Procedure} display obj [port]
|
||||||
Send a representation of @var{obj} to @var{current-output-port}.
|
Send a representation of @var{obj} to @var{current-output-port}.
|
||||||
Optional second arg @var{port} specifies an alternative output port.
|
Optional second arg @var{port} specifies an alternative output port.
|
||||||
The representation is similar to that produced by @code{write} (REFFIXME),
|
The representation is similar to that produced by @code{write} (REFFIXME),
|
||||||
|
@ -173,23 +187,27 @@ escaped), and characters are rendered as if with @code{write-char}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex newline
|
@rnindex newline
|
||||||
@deffn primitive newline [port]
|
@deffn {Scheme Procedure} newline [port]
|
||||||
|
@deffnx {C Function} scm_newline (port)
|
||||||
Send a newline to @var{port} (default @var{current-output-port} if omitted).
|
Send a newline to @var{port} (default @var{current-output-port} if omitted).
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive port-with-print-state port pstate
|
@deffn {Scheme Procedure} port-with-print-state port pstate
|
||||||
|
@deffnx {C Function} scm_port_with_print_state (port, pstate)
|
||||||
Create a new port which behaves like @var{port}, but with an
|
Create a new port which behaves like @var{port}, but with an
|
||||||
included print state @var{pstate}.
|
included print state @var{pstate}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive print-options-interface [setting]
|
@deffn {Scheme Procedure} print-options-interface [setting]
|
||||||
|
@deffnx {C Function} scm_print_options (setting)
|
||||||
Option interface for the print options. Instead of using
|
Option interface for the print options. Instead of using
|
||||||
this procedure directly, use the procedures
|
this procedure directly, use the procedures
|
||||||
@code{print-enable}, @code{print-disable}, @code{print-set!}
|
@code{print-enable}, @code{print-disable}, @code{print-set!}
|
||||||
and @code{print-options}.
|
and @code{print-options}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive simple-format destination message . args
|
@deffn {Scheme Procedure} simple-format destination message . args
|
||||||
|
@deffnx {C Function} scm_simple_format (destination, message, args)
|
||||||
Write @var{message} to @var{destination}, defaulting to
|
Write @var{message} to @var{destination}, defaulting to
|
||||||
the current output port.
|
the current output port.
|
||||||
@var{message} can contain @code{~A} (was @code{%s}) and
|
@var{message} can contain @code{~A} (was @code{%s}) and
|
||||||
|
@ -204,12 +222,14 @@ containing the formatted text. Does not add a trailing newline.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex write-char
|
@rnindex write-char
|
||||||
@deffn primitive write-char chr [port]
|
@deffn {Scheme Procedure} write-char chr [port]
|
||||||
|
@deffnx {C Function} scm_write_char (chr, port)
|
||||||
Send character @var{chr} to @var{port}.
|
Send character @var{chr} to @var{port}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@findex fflush
|
@findex fflush
|
||||||
@deffn primitive force-output [port]
|
@deffn {Scheme Procedure} force-output [port]
|
||||||
|
@deffnx {C Function} scm_force_output (port)
|
||||||
Flush the specified output port, or the current output port if @var{port}
|
Flush the specified output port, or the current output port if @var{port}
|
||||||
is omitted. The current output buffer contents are passed to the
|
is omitted. The current output buffer contents are passed to the
|
||||||
underlying port implementation (e.g., in the case of fports, the
|
underlying port implementation (e.g., in the case of fports, the
|
||||||
|
@ -219,7 +239,8 @@ It has no effect on an unbuffered port.
|
||||||
The return value is unspecified.
|
The return value is unspecified.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive flush-all-ports
|
@deffn {Scheme Procedure} flush-all-ports
|
||||||
|
@deffnx {C Function} scm_flush_all_ports ()
|
||||||
Equivalent to calling @code{force-output} on
|
Equivalent to calling @code{force-output} on
|
||||||
all open output ports. The return value is unspecified.
|
all open output ports. The return value is unspecified.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -228,7 +249,8 @@ all open output ports. The return value is unspecified.
|
||||||
@node Closing
|
@node Closing
|
||||||
@section Closing
|
@section Closing
|
||||||
|
|
||||||
@deffn primitive close-port port
|
@deffn {Scheme Procedure} close-port port
|
||||||
|
@deffnx {C Function} scm_close_port (port)
|
||||||
Close the specified port object. Return @code{#t} if it
|
Close the specified port object. Return @code{#t} if it
|
||||||
successfully closes a port or @code{#f} if it was already
|
successfully closes a port or @code{#f} if it was already
|
||||||
closed. An exception may be raised if an error occurs, for
|
closed. An exception may be raised if an error occurs, for
|
||||||
|
@ -238,7 +260,8 @@ descriptors.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex close-input-port
|
@rnindex close-input-port
|
||||||
@deffn primitive close-input-port port
|
@deffn {Scheme Procedure} close-input-port port
|
||||||
|
@deffnx {C Function} scm_close_input_port (port)
|
||||||
Close the specified input port object. The routine has no effect if
|
Close the specified input port object. The routine has no effect if
|
||||||
the file has already been closed. An exception may be raised if an
|
the file has already been closed. An exception may be raised if an
|
||||||
error occurs. The value returned is unspecified.
|
error occurs. The value returned is unspecified.
|
||||||
|
@ -248,7 +271,8 @@ which can close file descriptors.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex close-output-port
|
@rnindex close-output-port
|
||||||
@deffn primitive close-output-port port
|
@deffn {Scheme Procedure} close-output-port port
|
||||||
|
@deffnx {C Function} scm_close_output_port (port)
|
||||||
Close the specified output port object. The routine has no effect if
|
Close the specified output port object. The routine has no effect if
|
||||||
the file has already been closed. An exception may be raised if an
|
the file has already been closed. An exception may be raised if an
|
||||||
error occurs. The value returned is unspecified.
|
error occurs. The value returned is unspecified.
|
||||||
|
@ -257,7 +281,8 @@ See also @ref{Ports and File Descriptors, close}, for a procedure
|
||||||
which can close file descriptors.
|
which can close file descriptors.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive port-closed? port
|
@deffn {Scheme Procedure} port-closed? port
|
||||||
|
@deffnx {C Function} scm_port_closed_p (port)
|
||||||
Return @code{#t} if @var{port} is closed or @code{#f} if it is
|
Return @code{#t} if @var{port} is closed or @code{#f} if it is
|
||||||
open.
|
open.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -266,7 +291,8 @@ open.
|
||||||
@node Random Access
|
@node Random Access
|
||||||
@section Random Access
|
@section Random Access
|
||||||
|
|
||||||
@deffn primitive seek fd_port offset whence
|
@deffn {Scheme Procedure} seek fd_port offset whence
|
||||||
|
@deffnx {C Function} scm_seek (fd_port, offset, whence)
|
||||||
Sets the current position of @var{fd/port} to the integer
|
Sets the current position of @var{fd/port} to the integer
|
||||||
@var{offset}, which is interpreted according to the value of
|
@var{offset}, which is interpreted according to the value of
|
||||||
@var{whence}.
|
@var{whence}.
|
||||||
|
@ -292,7 +318,8 @@ that the current position of a port can be obtained using:
|
||||||
@end lisp
|
@end lisp
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive ftell fd_port
|
@deffn {Scheme Procedure} ftell fd_port
|
||||||
|
@deffnx {C Function} scm_ftell (fd_port)
|
||||||
Return an integer representing the current position of
|
Return an integer representing the current position of
|
||||||
@var{fd/port}, measured from the beginning. Equivalent to:
|
@var{fd/port}, measured from the beginning. Equivalent to:
|
||||||
|
|
||||||
|
@ -303,7 +330,8 @@ Return an integer representing the current position of
|
||||||
|
|
||||||
@findex truncate
|
@findex truncate
|
||||||
@findex ftruncate
|
@findex ftruncate
|
||||||
@deffn primitive truncate-file object [length]
|
@deffn {Scheme Procedure} truncate-file object [length]
|
||||||
|
@deffnx {C Function} scm_truncate_file (object, length)
|
||||||
Truncates the object referred to by @var{object} to at most
|
Truncates the object referred to by @var{object} to at most
|
||||||
@var{length} bytes. @var{object} can be a string containing a
|
@var{length} bytes. @var{object} can be a string containing a
|
||||||
file name or an integer file descriptor or a port.
|
file name or an integer file descriptor or a port.
|
||||||
|
@ -327,7 +355,7 @@ module from guile-scsh, but does not use multiple values or character
|
||||||
sets and has an extra procedure @code{write-line}.
|
sets and has an extra procedure @code{write-line}.
|
||||||
|
|
||||||
@c begin (scm-doc-string "rdelim.scm" "read-line")
|
@c begin (scm-doc-string "rdelim.scm" "read-line")
|
||||||
@deffn procedure read-line [port] [handle-delim]
|
@deffn {Scheme Procedure} read-line [port] [handle-delim]
|
||||||
Return a line of text from @var{port} if specified, otherwise from the
|
Return a line of text from @var{port} if specified, otherwise from the
|
||||||
value returned by @code{(current-input-port)}. Under Unix, a line of text
|
value returned by @code{(current-input-port)}. Under Unix, a line of text
|
||||||
is terminated by the first end-of-line character or by end-of-file.
|
is terminated by the first end-of-line character or by end-of-file.
|
||||||
|
@ -350,7 +378,7 @@ terminating delimiter or end-of-file object.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (scm-doc-string "rdelim.scm" "read-line!")
|
@c begin (scm-doc-string "rdelim.scm" "read-line!")
|
||||||
@deffn procedure read-line! buf [port]
|
@deffn {Scheme Procedure} read-line! buf [port]
|
||||||
Read a line of text into the supplied string @var{buf} and return the
|
Read a line of text into the supplied string @var{buf} and return the
|
||||||
number of characters added to @var{buf}. If @var{buf} is filled, then
|
number of characters added to @var{buf}. If @var{buf} is filled, then
|
||||||
@code{#f} is returned.
|
@code{#f} is returned.
|
||||||
|
@ -359,7 +387,7 @@ specified, otherwise from the value returned by @code{(current-input-port)}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (scm-doc-string "rdelim.scm" "read-delimited")
|
@c begin (scm-doc-string "rdelim.scm" "read-delimited")
|
||||||
@deffn procedure read-delimited delims [port] [handle-delim]
|
@deffn {Scheme Procedure} read-delimited delims [port] [handle-delim]
|
||||||
Read text until one of the characters in the string @var{delims} is found
|
Read text until one of the characters in the string @var{delims} is found
|
||||||
or end-of-file is reached. Read from @var{port} if supplied, otherwise
|
or end-of-file is reached. Read from @var{port} if supplied, otherwise
|
||||||
from the value returned by @code{(current-input-port)}.
|
from the value returned by @code{(current-input-port)}.
|
||||||
|
@ -367,7 +395,7 @@ from the value returned by @code{(current-input-port)}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (scm-doc-string "rdelim.scm" "read-delimited!")
|
@c begin (scm-doc-string "rdelim.scm" "read-delimited!")
|
||||||
@deffn procedure read-delimited! delims buf [port] [handle-delim] [start] [end]
|
@deffn {Scheme Procedure} read-delimited! delims buf [port] [handle-delim] [start] [end]
|
||||||
Read text into the supplied string @var{buf} and return the number of
|
Read text into the supplied string @var{buf} and return the number of
|
||||||
characters added to @var{buf} (subject to @var{handle-delim}, which takes
|
characters added to @var{buf} (subject to @var{handle-delim}, which takes
|
||||||
the same values specified for @code{read-line}. If @var{buf} is filled,
|
the same values specified for @code{read-line}. If @var{buf} is filled,
|
||||||
|
@ -378,7 +406,8 @@ or end-of-file is reached. Read from @var{port} if supplied, otherwise
|
||||||
from the value returned by @code{(current-input-port)}.
|
from the value returned by @code{(current-input-port)}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive write-line obj [port]
|
@deffn {Scheme Procedure} write-line obj [port]
|
||||||
|
@deffnx {C Function} scm_write_line (obj, port)
|
||||||
Display @var{obj} and a newline character to @var{port}. If
|
Display @var{obj} and a newline character to @var{port}. If
|
||||||
@var{port} is not specified, @code{(current-output-port)} is
|
@var{port} is not specified, @code{(current-output-port)} is
|
||||||
used. This function is equivalent to:
|
used. This function is equivalent to:
|
||||||
|
@ -392,7 +421,8 @@ Some of the abovementioned I/O functions rely on the following C
|
||||||
primitives. These will mainly be of interest to people hacking Guile
|
primitives. These will mainly be of interest to people hacking Guile
|
||||||
internals.
|
internals.
|
||||||
|
|
||||||
@deffn primitive %read-delimited! delims str gobble [port [start [end]]]
|
@deffn {Scheme Procedure} %read-delimited! delims str gobble [port [start [end]]]
|
||||||
|
@deffnx {C Function} scm_read_delimited_x (delims, str, gobble, port, start, end)
|
||||||
Read characters from @var{port} into @var{str} until one of the
|
Read characters from @var{port} into @var{str} until one of the
|
||||||
characters in the @var{delims} string is encountered. If
|
characters in the @var{delims} string is encountered. If
|
||||||
@var{gobble} is true, discard the delimiter character;
|
@var{gobble} is true, discard the delimiter character;
|
||||||
|
@ -410,7 +440,8 @@ at the end of file, the delimiter returned is the
|
||||||
a delimiter, this value is @code{#f}.
|
a delimiter, this value is @code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %read-line [port]
|
@deffn {Scheme Procedure} %read-line [port]
|
||||||
|
@deffnx {C Function} scm_read_line (port)
|
||||||
Read a newline-terminated line from @var{port}, allocating storage as
|
Read a newline-terminated line from @var{port}, allocating storage as
|
||||||
necessary. The newline terminator (if any) is removed from the string,
|
necessary. The newline terminator (if any) is removed from the string,
|
||||||
and a pair consisting of the line and its delimiter is returned. The
|
and a pair consisting of the line and its delimiter is returned. The
|
||||||
|
@ -431,7 +462,8 @@ The Block-string-I/O module can be accessed with:
|
||||||
It currently contains procedures that help to implement the
|
It currently contains procedures that help to implement the
|
||||||
@code{(scsh rw)} module in guile-scsh.
|
@code{(scsh rw)} module in guile-scsh.
|
||||||
|
|
||||||
@deffn primitive read-string!/partial str [port_or_fdes [start [end]]]
|
@deffn {Scheme Procedure} read-string!/partial str [port_or_fdes [start [end]]]
|
||||||
|
@deffnx {C Function} scm_read_string_x_partial (str, port_or_fdes, start, end)
|
||||||
Read characters from a port or file descriptor into a
|
Read characters from a port or file descriptor into a
|
||||||
string @var{str}. A port must have an underlying file
|
string @var{str}. A port must have an underlying file
|
||||||
descriptor --- a so-called fport. This procedure is
|
descriptor --- a so-called fport. This procedure is
|
||||||
|
@ -471,7 +503,8 @@ end-of-file check.
|
||||||
@end itemize
|
@end itemize
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive write-string/partial str [port_or_fdes start end]
|
@deffn {Scheme Procedure} write-string/partial str [port_or_fdes [start [end]]]
|
||||||
|
@deffnx {C Function} scm_write_string_partial (str, port_or_fdes, start, end)
|
||||||
Write characters from a string @var{str} to a port or file
|
Write characters from a string @var{str} to a port or file
|
||||||
descriptor. A port must have an underlying file descriptor
|
descriptor. A port must have an underlying file descriptor
|
||||||
--- a so-called fport. This procedure is
|
--- a so-called fport. This procedure is
|
||||||
|
@ -519,38 +552,42 @@ return 0 immediately if the request size is 0 bytes.
|
||||||
@section Default Ports for Input, Output and Errors
|
@section Default Ports for Input, Output and Errors
|
||||||
|
|
||||||
@rnindex current-input-port
|
@rnindex current-input-port
|
||||||
@deffn primitive current-input-port
|
@deffn {Scheme Procedure} current-input-port
|
||||||
|
@deffnx {C Function} scm_current_input_port ()
|
||||||
Return the current input port. This is the default port used
|
Return the current input port. This is the default port used
|
||||||
by many input procedures. Initially, @code{current-input-port}
|
by many input procedures. Initially, @code{current-input-port}
|
||||||
returns the @dfn{standard input} in Unix and C terminology.
|
returns the @dfn{standard input} in Unix and C terminology.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex current-output-port
|
@rnindex current-output-port
|
||||||
@deffn primitive current-output-port
|
@deffn {Scheme Procedure} current-output-port
|
||||||
|
@deffnx {C Function} scm_current_output_port ()
|
||||||
Return the current output port. This is the default port used
|
Return the current output port. This is the default port used
|
||||||
by many output procedures. Initially,
|
by many output procedures. Initially,
|
||||||
@code{current-output-port} returns the @dfn{standard output} in
|
@code{current-output-port} returns the @dfn{standard output} in
|
||||||
Unix and C terminology.
|
Unix and C terminology.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive current-error-port
|
@deffn {Scheme Procedure} current-error-port
|
||||||
|
@deffnx {C Function} scm_current_error_port ()
|
||||||
Return the port to which errors and warnings should be sent (the
|
Return the port to which errors and warnings should be sent (the
|
||||||
@dfn{standard error} in Unix and C terminology).
|
@dfn{standard error} in Unix and C terminology).
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-current-input-port port
|
@deffn {Scheme Procedure} set-current-input-port port
|
||||||
@deffnx primitive set-current-output-port port
|
@deffnx {Scheme Procedure} set-current-output-port port
|
||||||
@deffnx primitive set-current-error-port port
|
@deffnx {Scheme Procedure} set-current-error-port port
|
||||||
|
@deffnx {C Function} scm_set_current_input_port (port)
|
||||||
Change the ports returned by @code{current-input-port},
|
Change the ports returned by @code{current-input-port},
|
||||||
@code{current-output-port} and @code{current-error-port}, respectively,
|
@code{current-output-port} and @code{current-error-port}, respectively,
|
||||||
so that they use the supplied @var{port} for input or output.
|
so that they use the supplied @var{port} for input or output.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-current-output-port port
|
@deffn {Scheme Procedure} set-current-output-port port
|
||||||
Set the current default output port to PORT.
|
Set the current default output port to PORT.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-current-error-port port
|
@deffn {Scheme Procedure} set-current-error-port port
|
||||||
Set the current default error port to PORT.
|
Set the current default error port to PORT.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -575,7 +612,8 @@ The following procedures are used to open file ports.
|
||||||
See also @ref{Ports and File Descriptors, open}, for an interface
|
See also @ref{Ports and File Descriptors, open}, for an interface
|
||||||
to the Unix @code{open} system call.
|
to the Unix @code{open} system call.
|
||||||
|
|
||||||
@deffn primitive open-file filename mode
|
@deffn {Scheme Procedure} open-file filename mode
|
||||||
|
@deffnx {C Function} scm_open_file (filename, mode)
|
||||||
Open the file whose name is @var{filename}, and return a port
|
Open the file whose name is @var{filename}, and return a port
|
||||||
representing that file. The attributes of the port are
|
representing that file. The attributes of the port are
|
||||||
determined by the @var{mode} string. The way in which this is
|
determined by the @var{mode} string. The way in which this is
|
||||||
|
@ -616,7 +654,7 @@ requested, @code{open-file} throws an exception.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex open-input-file
|
@rnindex open-input-file
|
||||||
@deffn procedure open-input-file filename
|
@deffn {Scheme Procedure} open-input-file filename
|
||||||
Open @var{filename} for input. Equivalent to
|
Open @var{filename} for input. Equivalent to
|
||||||
@smalllisp
|
@smalllisp
|
||||||
(open-file @var{filename} "r")
|
(open-file @var{filename} "r")
|
||||||
|
@ -624,7 +662,7 @@ Open @var{filename} for input. Equivalent to
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex open-output-file
|
@rnindex open-output-file
|
||||||
@deffn procedure open-output-file filename
|
@deffn {Scheme Procedure} open-output-file filename
|
||||||
Open @var{filename} for output. Equivalent to
|
Open @var{filename} for output. Equivalent to
|
||||||
@smalllisp
|
@smalllisp
|
||||||
(open-file @var{filename} "w")
|
(open-file @var{filename} "w")
|
||||||
|
@ -632,7 +670,7 @@ Open @var{filename} for output. Equivalent to
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex call-with-input-file
|
@rnindex call-with-input-file
|
||||||
@deffn procedure call-with-input-file file proc
|
@deffn {Scheme Procedure} call-with-input-file file proc
|
||||||
@var{proc} should be a procedure of one argument, and @var{file} should
|
@var{proc} should be a procedure of one argument, and @var{file} should
|
||||||
be a string naming a file. The file must already exist. These
|
be a string naming a file. The file must already exist. These
|
||||||
procedures call @var{proc} with one argument: the port obtained by
|
procedures call @var{proc} with one argument: the port obtained by
|
||||||
|
@ -645,7 +683,7 @@ never again be used for a read or write operation.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex call-with-output-file
|
@rnindex call-with-output-file
|
||||||
@deffn procedure call-with-output-file file proc
|
@deffn {Scheme Procedure} call-with-output-file file proc
|
||||||
@var{proc} should be a procedure of one argument, and @var{file} should
|
@var{proc} should be a procedure of one argument, and @var{file} should
|
||||||
be a string naming a file. The behaviour is unspecified if the file
|
be a string naming a file. The behaviour is unspecified if the file
|
||||||
already exists. These procedures call @var{proc} with one argument: the
|
already exists. These procedures call @var{proc} with one argument: the
|
||||||
|
@ -658,7 +696,7 @@ port will never again be used for a read or write operation.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex with-input-from-file
|
@rnindex with-input-from-file
|
||||||
@deffn procedure with-input-from-file file thunk
|
@deffn {Scheme Procedure} with-input-from-file file thunk
|
||||||
@var{thunk} must be a procedure of no arguments, and @var{file} must be
|
@var{thunk} must be a procedure of no arguments, and @var{file} must be
|
||||||
a string naming a file. The file must already exist. The file is opened
|
a string naming a file. The file must already exist. The file is opened
|
||||||
for input, an input port connected to it is made the default value
|
for input, an input port connected to it is made the default value
|
||||||
|
@ -671,7 +709,7 @@ dependent.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex with-output-to-file
|
@rnindex with-output-to-file
|
||||||
@deffn procedure with-output-to-file file thunk
|
@deffn {Scheme Procedure} with-output-to-file file thunk
|
||||||
@var{thunk} must be a procedure of no arguments, and @var{file} must be
|
@var{thunk} must be a procedure of no arguments, and @var{file} must be
|
||||||
a string naming a file. The effect is unspecified if the file already
|
a string naming a file. The effect is unspecified if the file already
|
||||||
exists. The file is opened for output, an output port connected to it
|
exists. The file is opened for output, an output port connected to it
|
||||||
|
@ -683,7 +721,7 @@ used to escape from the continuation of these procedures, their behavior
|
||||||
is implementation dependent.
|
is implementation dependent.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure with-error-to-file file thunk
|
@deffn {Scheme Procedure} with-error-to-file file thunk
|
||||||
@var{thunk} must be a procedure of no arguments, and @var{file} must be
|
@var{thunk} must be a procedure of no arguments, and @var{file} must be
|
||||||
a string naming a file. The effect is unspecified if the file already
|
a string naming a file. The effect is unspecified if the file already
|
||||||
exists. The file is opened for output, an output port connected to it
|
exists. The file is opened for output, an output port connected to it
|
||||||
|
@ -695,27 +733,31 @@ from the continuation of these procedures, their behavior is
|
||||||
implementation dependent.
|
implementation dependent.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive port-mode port
|
@deffn {Scheme Procedure} port-mode port
|
||||||
Return the port modes associated with the open port @var{port}. These
|
@deffnx {C Function} scm_port_mode (port)
|
||||||
will not necessarily be identical to the modes used when the port was
|
Return the port modes associated with the open port @var{port}.
|
||||||
opened, since modes such as "append" which are used only during
|
These will not necessarily be identical to the modes used when
|
||||||
port creation are not retained.
|
the port was opened, since modes such as "append" which are
|
||||||
|
used only during port creation are not retained.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive port-filename port
|
@deffn {Scheme Procedure} port-filename port
|
||||||
|
@deffnx {C Function} scm_port_filename (port)
|
||||||
Return the filename associated with @var{port}. This function returns
|
Return the filename associated with @var{port}. This function returns
|
||||||
the strings "standard input", "standard output" and "standard error"
|
the strings "standard input", "standard output" and "standard error"
|
||||||
when called on the current input, output and error ports respectively.
|
when called on the current input, output and error ports respectively.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-port-filename! port filename
|
@deffn {Scheme Procedure} set-port-filename! port filename
|
||||||
|
@deffnx {C Function} scm_set_port_filename_x (port, filename)
|
||||||
Change the filename associated with @var{port}, using the current input
|
Change the filename associated with @var{port}, using the current input
|
||||||
port if none is specified. Note that this does not change the port's
|
port if none is specified. Note that this does not change the port's
|
||||||
source of data, but only the value that is returned by
|
source of data, but only the value that is returned by
|
||||||
@code{port-filename} and reported in diagnostic output.
|
@code{port-filename} and reported in diagnostic output.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive file-port? obj
|
@deffn {Scheme Procedure} file-port? obj
|
||||||
|
@deffnx {C Function} scm_file_port_p (obj)
|
||||||
Determine whether @var{obj} is a port that is related to a file.
|
Determine whether @var{obj} is a port that is related to a file.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -726,38 +768,42 @@ Determine whether @var{obj} is a port that is related to a file.
|
||||||
The following allow string ports to be opened by analogy to R4R*
|
The following allow string ports to be opened by analogy to R4R*
|
||||||
file port facilities:
|
file port facilities:
|
||||||
|
|
||||||
@deffn primitive call-with-output-string proc
|
@deffn {Scheme Procedure} call-with-output-string proc
|
||||||
|
@deffnx {C Function} scm_call_with_output_string (proc)
|
||||||
Calls the one-argument procedure @var{proc} with a newly created output
|
Calls the one-argument procedure @var{proc} with a newly created output
|
||||||
port. When the function returns, the string composed of the characters
|
port. When the function returns, the string composed of the characters
|
||||||
written into the port is returned.
|
written into the port is returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive call-with-input-string string proc
|
@deffn {Scheme Procedure} call-with-input-string string proc
|
||||||
|
@deffnx {C Function} scm_call_with_input_string (string, proc)
|
||||||
Calls the one-argument procedure @var{proc} with a newly
|
Calls the one-argument procedure @var{proc} with a newly
|
||||||
created input port from which @var{string}'s contents may be
|
created input port from which @var{string}'s contents may be
|
||||||
read. The value yielded by the @var{proc} is returned.
|
read. The value yielded by the @var{proc} is returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure with-output-to-string thunk
|
@deffn {Scheme Procedure} with-output-to-string thunk
|
||||||
Calls the zero-argument procedure @var{thunk} with the current output
|
Calls the zero-argument procedure @var{thunk} with the current output
|
||||||
port set temporarily to a new string port. It returns a string
|
port set temporarily to a new string port. It returns a string
|
||||||
composed of the characters written to the current output.
|
composed of the characters written to the current output.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure with-input-from-string string thunk
|
@deffn {Scheme Procedure} with-input-from-string string thunk
|
||||||
Calls the zero-argument procedure @var{thunk} with the current input
|
Calls the zero-argument procedure @var{thunk} with the current input
|
||||||
port set temporarily to a string port opened on the specified
|
port set temporarily to a string port opened on the specified
|
||||||
@var{string}. The value yielded by @var{thunk} is returned.
|
@var{string}. The value yielded by @var{thunk} is returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive open-input-string str
|
@deffn {Scheme Procedure} open-input-string str
|
||||||
|
@deffnx {C Function} scm_open_input_string (str)
|
||||||
Take a string and return an input port that delivers characters
|
Take a string and return an input port that delivers characters
|
||||||
from the string. The port can be closed by
|
from the string. The port can be closed by
|
||||||
@code{close-input-port}, though its storage will be reclaimed
|
@code{close-input-port}, though its storage will be reclaimed
|
||||||
by the garbage collector if it becomes inaccessible.
|
by the garbage collector if it becomes inaccessible.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive open-output-string
|
@deffn {Scheme Procedure} open-output-string
|
||||||
|
@deffnx {C Function} scm_open_output_string ()
|
||||||
Return an output port that will accumulate characters for
|
Return an output port that will accumulate characters for
|
||||||
retrieval by @code{get-output-string}. The port can be closed
|
retrieval by @code{get-output-string}. The port can be closed
|
||||||
by the procedure @code{close-output-port}, though its storage
|
by the procedure @code{close-output-port}, though its storage
|
||||||
|
@ -765,7 +811,8 @@ will be reclaimed by the garbage collector if it becomes
|
||||||
inaccessible.
|
inaccessible.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive get-output-string port
|
@deffn {Scheme Procedure} get-output-string port
|
||||||
|
@deffnx {C Function} scm_get_output_string (port)
|
||||||
Given an output port created by @code{open-output-string},
|
Given an output port created by @code{open-output-string},
|
||||||
return a string consisting of the characters that have been
|
return a string consisting of the characters that have been
|
||||||
output to the port so far.
|
output to the port so far.
|
||||||
|
@ -783,7 +830,8 @@ but trying to extract the file descriptor number will fail.
|
||||||
A @dfn{soft-port} is a port based on a vector of procedures capable of
|
A @dfn{soft-port} is a port based on a vector of procedures capable of
|
||||||
accepting or delivering characters. It allows emulation of I/O ports.
|
accepting or delivering characters. It allows emulation of I/O ports.
|
||||||
|
|
||||||
@deffn primitive make-soft-port pv modes
|
@deffn {Scheme Procedure} make-soft-port pv modes
|
||||||
|
@deffnx {C Function} scm_make_soft_port (pv, modes)
|
||||||
Return a port capable of receiving or delivering characters as
|
Return a port capable of receiving or delivering characters as
|
||||||
specified by the @var{modes} string (@pxref{File Ports,
|
specified by the @var{modes} string (@pxref{File Ports,
|
||||||
open-file}). @var{pv} must be a vector of length 5. Its
|
open-file}). @var{pv} must be a vector of length 5. Its
|
||||||
|
@ -834,11 +882,12 @@ For example:
|
||||||
This kind of port causes any data to be discarded when written to, and
|
This kind of port causes any data to be discarded when written to, and
|
||||||
always returns the end-of-file object when read from.
|
always returns the end-of-file object when read from.
|
||||||
|
|
||||||
@deffn primitive %make-void-port mode
|
@deffn {Scheme Procedure} %make-void-port mode
|
||||||
|
@deffnx {C Function} scm_sys_make_void_port (mode)
|
||||||
Create and return a new void port. A void port acts like
|
Create and return a new void port. A void port acts like
|
||||||
@code{/dev/null}. The @var{mode} argument specifies the input/output
|
@file{/dev/null}. The @var{mode} argument
|
||||||
modes for this port: see the documentation for @code{open-file} in
|
specifies the input/output modes for this port: see the
|
||||||
@ref{File Ports}.
|
documentation for @code{open-file} in @ref{File Ports}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,22 +15,25 @@
|
||||||
[FIXME: this is pasted in from Tom Lord's original guile.texi and should
|
[FIXME: this is pasted in from Tom Lord's original guile.texi and should
|
||||||
be reviewed]
|
be reviewed]
|
||||||
|
|
||||||
@deffn primitive gc
|
@deffn {Scheme Procedure} gc
|
||||||
|
@deffnx {C Function} scm_gc ()
|
||||||
Scans all of SCM objects and reclaims for further use those that are
|
Scans all of SCM objects and reclaims for further use those that are
|
||||||
no longer accessible.
|
no longer accessible.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive gc-stats
|
@deffn {Scheme Procedure} gc-stats
|
||||||
|
@deffnx {C Function} scm_gc_stats ()
|
||||||
Return an association list of statistics about Guile's current
|
Return an association list of statistics about Guile's current
|
||||||
use of storage.
|
use of storage.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive object-address obj
|
@deffn {Scheme Procedure} object-address obj
|
||||||
|
@deffnx {C Function} scm_object_address (obj)
|
||||||
Return an integer that for the lifetime of @var{obj} is uniquely
|
Return an integer that for the lifetime of @var{obj} is uniquely
|
||||||
returned by this function for @var{obj}
|
returned by this function for @var{obj}
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive unhash-name name
|
@deffn {Scheme Procedure} unhash-name name
|
||||||
Flushes the glocs for @var{name}, or all glocs if @var{name}
|
Flushes the glocs for @var{name}, or all glocs if @var{name}
|
||||||
is @code{#t}.
|
is @code{#t}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -84,9 +87,10 @@ they constitute a doubly-weak table has to be used.
|
||||||
@node Weak key hashes
|
@node Weak key hashes
|
||||||
@subsection Weak key hashes
|
@subsection Weak key hashes
|
||||||
|
|
||||||
@deffn primitive make-weak-key-hash-table size
|
@deffn {Scheme Procedure} make-weak-key-hash-table size
|
||||||
@deffnx primitive make-weak-value-hash-table size
|
@deffnx {Scheme Procedure} make-weak-value-hash-table size
|
||||||
@deffnx primitive make-doubly-weak-hash-table size
|
@deffnx {Scheme Procedure} make-doubly-weak-hash-table size
|
||||||
|
@deffnx {C Function} scm_make_weak_key_hash_table (size)
|
||||||
Return a weak hash table with @var{size} buckets. As with any
|
Return a weak hash table with @var{size} buckets. As with any
|
||||||
hash table, choosing a good size for the table requires some
|
hash table, choosing a good size for the table requires some
|
||||||
caution.
|
caution.
|
||||||
|
@ -95,24 +99,25 @@ You can modify weak hash tables in exactly the same way you
|
||||||
would modify regular hash tables. (@pxref{Hash Tables})
|
would modify regular hash tables. (@pxref{Hash Tables})
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive weak-key-hash-table? obj
|
@deffn {Scheme Procedure} weak-key-hash-table? obj
|
||||||
@deffnx primitive weak-value-hash-table? obj
|
@deffnx {Scheme Procedure} weak-value-hash-table? obj
|
||||||
@deffnx primitive doubly-weak-hash-table? obj
|
@deffnx {Scheme Procedure} doubly-weak-hash-table? obj
|
||||||
|
@deffnx {C Function} scm_weak_key_hash_table_p (obj)
|
||||||
Return @code{#t} if @var{obj} is the specified weak hash
|
Return @code{#t} if @var{obj} is the specified weak hash
|
||||||
table. Note that a doubly weak hash table is neither a weak key
|
table. Note that a doubly weak hash table is neither a weak key
|
||||||
nor a weak value hash table.
|
nor a weak value hash table.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-weak-value-hash-table k
|
@deffn {Scheme Procedure} make-weak-value-hash-table k
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive weak-value-hash-table? x
|
@deffn {Scheme Procedure} weak-value-hash-table? x
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-doubly-weak-hash-table k
|
@deffn {Scheme Procedure} make-doubly-weak-hash-table k
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive doubly-weak-hash-table? x
|
@deffn {Scheme Procedure} doubly-weak-hash-table? x
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@ -122,22 +127,25 @@ nor a weak value hash table.
|
||||||
Weak vectors are mainly useful in Guile's implementation of weak hash
|
Weak vectors are mainly useful in Guile's implementation of weak hash
|
||||||
tables.
|
tables.
|
||||||
|
|
||||||
@deffn primitive make-weak-vector size [fill]
|
@deffn {Scheme Procedure} make-weak-vector size [fill]
|
||||||
|
@deffnx {C Function} scm_make_weak_vector (size, fill)
|
||||||
Return a weak vector with @var{size} elements. If the optional
|
Return a weak vector with @var{size} elements. If the optional
|
||||||
argument @var{fill} is given, all entries in the vector will be
|
argument @var{fill} is given, all entries in the vector will be
|
||||||
set to @var{fill}. The default value for @var{fill} is the
|
set to @var{fill}. The default value for @var{fill} is the
|
||||||
empty list.
|
empty list.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive weak-vector . l
|
@deffn {Scheme Procedure} weak-vector . l
|
||||||
@deffnx primitive list->weak-vector l
|
@deffnx {Scheme Procedure} list->weak-vector l
|
||||||
|
@deffnx {C Function} scm_weak_vector (l)
|
||||||
Construct a weak vector from a list: @code{weak-vector} uses
|
Construct a weak vector from a list: @code{weak-vector} uses
|
||||||
the list of its arguments while @code{list->weak-vector} uses
|
the list of its arguments while @code{list->weak-vector} uses
|
||||||
its only argument @var{l} (a list) to construct a weak vector
|
its only argument @var{l} (a list) to construct a weak vector
|
||||||
the same way @code{list->vector} would.
|
the same way @code{list->vector} would.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive weak-vector? obj
|
@deffn {Scheme Procedure} weak-vector? obj
|
||||||
|
@deffnx {C Function} scm_weak_vector_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a weak vector. Note that all
|
Return @code{#t} if @var{obj} is a weak vector. Note that all
|
||||||
weak hashes are also weak vectors.
|
weak hashes are also weak vectors.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -146,7 +154,8 @@ weak hashes are also weak vectors.
|
||||||
@node Guardians
|
@node Guardians
|
||||||
@section Guardians
|
@section Guardians
|
||||||
|
|
||||||
@deffn primitive make-guardian [greedy?]
|
@deffn {Scheme Procedure} make-guardian [greedy?]
|
||||||
|
@deffnx {C Function} scm_make_guardian (greedy_p)
|
||||||
Create a new guardian.
|
Create a new guardian.
|
||||||
A guardian protects a set of objects from garbage collection,
|
A guardian protects a set of objects from garbage collection,
|
||||||
allowing a program to apply cleanup or other actions.
|
allowing a program to apply cleanup or other actions.
|
||||||
|
@ -174,17 +183,20 @@ and Implementation, June 1993.
|
||||||
paper still (mostly) accurately describes the interface).
|
paper still (mostly) accurately describes the interface).
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive destroy-guardian! guardian
|
@deffn {Scheme Procedure} destroy-guardian! guardian
|
||||||
|
@deffnx {C Function} scm_destroy_guardian_x (guardian)
|
||||||
Destroys @var{guardian}, by making it impossible to put any more
|
Destroys @var{guardian}, by making it impossible to put any more
|
||||||
objects in it or get any objects from it. It also unguards any
|
objects in it or get any objects from it. It also unguards any
|
||||||
objects guarded by @var{guardian}.
|
objects guarded by @var{guardian}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive guardian-greedy? guardian
|
@deffn {Scheme Procedure} guardian-greedy? guardian
|
||||||
|
@deffnx {C Function} scm_guardian_greedy_p (guardian)
|
||||||
Return @code{#t} if @var{guardian} is a greedy guardian, otherwise @code{#f}.
|
Return @code{#t} if @var{guardian} is a greedy guardian, otherwise @code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive guardian-destroyed? guardian
|
@deffn {Scheme Procedure} guardian-destroyed? guardian
|
||||||
|
@deffnx {C Function} scm_guardian_destroyed_p (guardian)
|
||||||
Return @code{#t} if @var{guardian} has been destroyed, otherwise @code{#f}.
|
Return @code{#t} if @var{guardian} has been destroyed, otherwise @code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -193,25 +205,30 @@ Return @code{#t} if @var{guardian} has been destroyed, otherwise @code{#f}.
|
||||||
@node Objects
|
@node Objects
|
||||||
@chapter Objects
|
@chapter Objects
|
||||||
|
|
||||||
@deffn primitive entity? obj
|
@deffn {Scheme Procedure} entity? obj
|
||||||
|
@deffnx {C Function} scm_entity_p (obj)
|
||||||
Return @code{#t} if @var{obj} is an entity.
|
Return @code{#t} if @var{obj} is an entity.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive operator? obj
|
@deffn {Scheme Procedure} operator? obj
|
||||||
|
@deffnx {C Function} scm_operator_p (obj)
|
||||||
Return @code{#t} if @var{obj} is an operator.
|
Return @code{#t} if @var{obj} is an operator.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-object-procedure! obj proc
|
@deffn {Scheme Procedure} set-object-procedure! obj proc
|
||||||
|
@deffnx {C Function} scm_set_object_procedure_x (obj, proc)
|
||||||
Set the object procedure of @var{obj} to @var{proc}.
|
Set the object procedure of @var{obj} to @var{proc}.
|
||||||
@var{obj} must be either an entity or an operator.
|
@var{obj} must be either an entity or an operator.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-class-object metaclass layout
|
@deffn {Scheme Procedure} make-class-object metaclass layout
|
||||||
|
@deffnx {C Function} scm_make_class_object (metaclass, layout)
|
||||||
Create a new class object of class @var{metaclass}, with the
|
Create a new class object of class @var{metaclass}, with the
|
||||||
slot layout specified by @var{layout}.
|
slot layout specified by @var{layout}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive make-subclass-object class layout
|
@deffn {Scheme Procedure} make-subclass-object class layout
|
||||||
|
@deffnx {C Function} scm_make_subclass_object (class, layout)
|
||||||
Create a subclass object of @var{class}, with the slot layout
|
Create a subclass object of @var{class}, with the slot layout
|
||||||
specified by @var{layout}.
|
specified by @var{layout}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
|
@ -193,7 +193,7 @@ This example also shows how to use the convenience procedure
|
||||||
@code{symbol-prefix-proc}.
|
@code{symbol-prefix-proc}.
|
||||||
|
|
||||||
@c begin (scm-doc-string "boot-9.scm" "symbol-prefix-proc")
|
@c begin (scm-doc-string "boot-9.scm" "symbol-prefix-proc")
|
||||||
@deffn procedure symbol-prefix-proc prefix-sym
|
@deffn {Scheme Procedure} symbol-prefix-proc prefix-sym
|
||||||
Return a procedure that prefixes its arg (a symbol) with
|
Return a procedure that prefixes its arg (a symbol) with
|
||||||
@var{prefix-sym}.
|
@var{prefix-sym}.
|
||||||
@c Insert gratuitous C++ slam here. --ttn
|
@c Insert gratuitous C++ slam here. --ttn
|
||||||
|
@ -332,7 +332,8 @@ The procedures in this section are useful if you want to dig into the
|
||||||
innards of Guile's module system. If you don't know precisely what you
|
innards of Guile's module system. If you don't know precisely what you
|
||||||
do, you should probably avoid using any of them.
|
do, you should probably avoid using any of them.
|
||||||
|
|
||||||
@deffn primitive standard-eval-closure module
|
@deffn {Scheme Procedure} standard-eval-closure module
|
||||||
|
@deffnx {C Function} scm_standard_eval_closure (module)
|
||||||
Return an eval closure for the module @var{module}.
|
Return an eval closure for the module @var{module}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -494,7 +495,8 @@ When using the low level procedures to do your dynamic linking, you have
|
||||||
complete control over which library is loaded when and what gets done
|
complete control over which library is loaded when and what gets done
|
||||||
with it.
|
with it.
|
||||||
|
|
||||||
@deffn primitive dynamic-link library
|
@deffn {Scheme Procedure} dynamic-link library
|
||||||
|
@deffnx {C Function} scm_dynamic_link (filename)
|
||||||
Find the shared library denoted by @var{library} (a string) and link it
|
Find the shared library denoted by @var{library} (a string) and link it
|
||||||
into the running Guile application. When everything works out, return a
|
into the running Guile application. When everything works out, return a
|
||||||
Scheme object suitable for representing the linked object file.
|
Scheme object suitable for representing the linked object file.
|
||||||
|
@ -506,11 +508,13 @@ that will be searched for in the places where shared libraries usually
|
||||||
reside, such as in @file{/usr/lib} and @file{/usr/local/lib}.
|
reside, such as in @file{/usr/lib} and @file{/usr/local/lib}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive dynamic-object? val
|
@deffn {Scheme Procedure} dynamic-object? val
|
||||||
|
@deffnx {C Function} scm_dynamic_object_p (obj)
|
||||||
Determine whether @var{val} represents a dynamically linked object file.
|
Determine whether @var{val} represents a dynamically linked object file.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive dynamic-unlink dynobj
|
@deffn {Scheme Procedure} dynamic-unlink dynobj
|
||||||
|
@deffnx {C Function} scm_dynamic_unlink (dynobj)
|
||||||
Unlink the indicated object file from the application. The argument
|
Unlink the indicated object file from the application. The argument
|
||||||
@var{dynobj} should be one of the values returned by
|
@var{dynobj} should be one of the values returned by
|
||||||
@code{dynamic-link}. When @code{dynamic-unlink} has been called on
|
@code{dynamic-link}. When @code{dynamic-unlink} has been called on
|
||||||
|
@ -518,7 +522,8 @@ Unlink the indicated object file from the application. The argument
|
||||||
below and you will get type mismatch errors when you try to.
|
below and you will get type mismatch errors when you try to.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive dynamic-func function dynobj
|
@deffn {Scheme Procedure} dynamic-func function dynobj
|
||||||
|
@deffnx {C Function} scm_dynamic_func (name, dynobj)
|
||||||
Search the C function indicated by @var{function} (a string or symbol)
|
Search the C function indicated by @var{function} (a string or symbol)
|
||||||
in @var{dynobj} and return some Scheme object that can later be used
|
in @var{dynobj} and return some Scheme object that can later be used
|
||||||
with @code{dynamic-call} to actually call this function. Right now,
|
with @code{dynamic-call} to actually call this function. Right now,
|
||||||
|
@ -531,7 +536,8 @@ underscore in @var{function}. Guile knows whether the underscore is
|
||||||
needed or not and will add it when necessary.
|
needed or not and will add it when necessary.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive dynamic-call function dynobj
|
@deffn {Scheme Procedure} dynamic-call function dynobj
|
||||||
|
@deffnx {C Function} scm_dynamic_call (func, dynobj)
|
||||||
Call the C function indicated by @var{function} and @var{dynobj}. The
|
Call the C function indicated by @var{function} and @var{dynobj}. The
|
||||||
function is passed no arguments and its return value is ignored. When
|
function is passed no arguments and its return value is ignored. When
|
||||||
@var{function} is something returned by @code{dynamic-func}, call that
|
@var{function} is something returned by @code{dynamic-func}, call that
|
||||||
|
@ -546,7 +552,8 @@ Interrupts are deferred while the C function is executing (with
|
||||||
@code{SCM_DEFER_INTS}/@code{SCM_ALLOW_INTS}).
|
@code{SCM_DEFER_INTS}/@code{SCM_ALLOW_INTS}).
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive dynamic-args-call function dynobj args
|
@deffn {Scheme Procedure} dynamic-args-call function dynobj args
|
||||||
|
@deffnx {C Function} scm_dynamic_args_call (function, dynobj, args)
|
||||||
Call the C function indicated by @var{function} and @var{dynobj}, just
|
Call the C function indicated by @var{function} and @var{dynobj}, just
|
||||||
like @code{dynamic-call}, but pass it some arguments and return its
|
like @code{dynamic-call}, but pass it some arguments and return its
|
||||||
return value. The C function is expected to take two arguments and
|
return value. The C function is expected to take two arguments and
|
||||||
|
|
|
@ -34,11 +34,11 @@ We will use the expression @code{<group>} to represent @code{read},
|
||||||
@subheading Low level
|
@subheading Low level
|
||||||
|
|
||||||
@c NJFIXME
|
@c NJFIXME
|
||||||
@deffn primitive <group>-options-interface
|
@deffn {Scheme Procedure} <group>-options-interface
|
||||||
@deffnx primitive read-options-interface [SOME-INT]
|
@deffnx {Scheme Procedure} read-options-interface [SOME-INT]
|
||||||
@deffnx primitive print-options-interface [SOME-INT]
|
@deffnx {Scheme Procedure} print-options-interface [SOME-INT]
|
||||||
@deffnx primitive evaluator-traps-interface [SOME-INT]
|
@deffnx {Scheme Procedure} evaluator-traps-interface [SOME-INT]
|
||||||
@deffnx primitive read-options-interface [SOME-INT]
|
@deffnx {Scheme Procedure} read-options-interface [SOME-INT]
|
||||||
[FIXME: I have just taken the comments for C routine scm_options that
|
[FIXME: I have just taken the comments for C routine scm_options that
|
||||||
implements all of these. It needs to be presented better.]
|
implements all of these. It needs to be presented better.]
|
||||||
|
|
||||||
|
@ -59,11 +59,11 @@ and documentation string.
|
||||||
@c @end deftp
|
@c @end deftp
|
||||||
|
|
||||||
@c NJFIXME
|
@c NJFIXME
|
||||||
@deffn procedure <group>-options [arg]
|
@deffn {Scheme Procedure} <group>-options [arg]
|
||||||
@deffnx procedure read-options [arg]
|
@deffnx {Scheme Procedure} read-options [arg]
|
||||||
@deffnx procedure print-options [arg]
|
@deffnx {Scheme Procedure} print-options [arg]
|
||||||
@deffnx procedure debug-options [arg]
|
@deffnx {Scheme Procedure} debug-options [arg]
|
||||||
@deffnx procedure traps [arg]
|
@deffnx {Scheme Procedure} traps [arg]
|
||||||
These functions list the options in their group. The optional argument
|
These functions list the options in their group. The optional argument
|
||||||
@var{arg} is a symbol which modifies the form in which the options are
|
@var{arg} is a symbol which modifies the form in which the options are
|
||||||
presented.
|
presented.
|
||||||
|
@ -81,22 +81,22 @@ options) and symbols followed by values.
|
||||||
up?]
|
up?]
|
||||||
|
|
||||||
@c NJFIXME
|
@c NJFIXME
|
||||||
@deffn procedure <group>-enable option-symbol
|
@deffn {Scheme Procedure} <group>-enable option-symbol
|
||||||
@deffnx procedure read-enable option-symbol
|
@deffnx {Scheme Procedure} read-enable option-symbol
|
||||||
@deffnx procedure print-enable option-symbol
|
@deffnx {Scheme Procedure} print-enable option-symbol
|
||||||
@deffnx procedure debug-enable option-symbol
|
@deffnx {Scheme Procedure} debug-enable option-symbol
|
||||||
@deffnx procedure trap-enable option-symbol
|
@deffnx {Scheme Procedure} trap-enable option-symbol
|
||||||
These functions set the specified @var{option-symbol} in their options
|
These functions set the specified @var{option-symbol} in their options
|
||||||
group. They only work if the option is boolean, and throw an error
|
group. They only work if the option is boolean, and throw an error
|
||||||
otherwise.
|
otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c NJFIXME
|
@c NJFIXME
|
||||||
@deffn procedure <group>-disable option-symbol
|
@deffn {Scheme Procedure} <group>-disable option-symbol
|
||||||
@deffnx procedure read-disable option-symbol
|
@deffnx {Scheme Procedure} read-disable option-symbol
|
||||||
@deffnx procedure print-disable option-symbol
|
@deffnx {Scheme Procedure} print-disable option-symbol
|
||||||
@deffnx procedure debug-disable option-symbol
|
@deffnx {Scheme Procedure} debug-disable option-symbol
|
||||||
@deffnx procedure trap-disable option-symbol
|
@deffnx {Scheme Procedure} trap-disable option-symbol
|
||||||
These functions turn off the specified @var{option-symbol} in their
|
These functions turn off the specified @var{option-symbol} in their
|
||||||
options group. They only work if the option is boolean, and throw an
|
options group. They only work if the option is boolean, and throw an
|
||||||
error otherwise.
|
error otherwise.
|
||||||
|
@ -332,10 +332,14 @@ It is often useful to have site-specific information about the current
|
||||||
Guile installation. This chapter describes how to find out about
|
Guile installation. This chapter describes how to find out about
|
||||||
Guile's configuration at run time.
|
Guile's configuration at run time.
|
||||||
|
|
||||||
@deffn primitive version
|
@deffn {Scheme Procedure} version
|
||||||
@deffnx primitive major-version
|
@deffnx {Scheme Procedure} major-version
|
||||||
@deffnx primitive minor-version
|
@deffnx {Scheme Procedure} minor-version
|
||||||
@deffnx primitive micro-version
|
@deffnx {Scheme Procedure} micro-version
|
||||||
|
@deffnx {C Function} scm_version ()
|
||||||
|
@deffnx {C Function} scm_major_version ()
|
||||||
|
@deffnx {C Function} scm_minor_version ()
|
||||||
|
@deffnx {C Function} scm_micro_version ()
|
||||||
Return a string describing Guile's version number, or its major, minor
|
Return a string describing Guile's version number, or its major, minor
|
||||||
or micro version number, respectively.
|
or micro version number, respectively.
|
||||||
|
|
||||||
|
@ -348,37 +352,42 @@ or micro version number, respectively.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c NJFIXME not in libguile!
|
@c NJFIXME not in libguile!
|
||||||
@deffn primitive libguile-config-stamp
|
@deffn {Scheme Procedure} libguile-config-stamp
|
||||||
Return a string describing the date on which @code{libguile} was
|
Return a string describing the date on which @code{libguile} was
|
||||||
configured. This is used to determine whether the Guile core
|
configured. This is used to determine whether the Guile core
|
||||||
interpreter and the ice-9 runtime have grown out of date with one
|
interpreter and the ice-9 runtime have grown out of date with one
|
||||||
another.
|
another.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %package-data-dir
|
@deffn {Scheme Procedure} %package-data-dir
|
||||||
|
@deffnx {C Function} scm_sys_package_data_dir ()
|
||||||
Return the name of the directory where Scheme packages, modules and
|
Return the name of the directory where Scheme packages, modules and
|
||||||
libraries are kept. On most Unix systems, this will be
|
libraries are kept. On most Unix systems, this will be
|
||||||
@samp{/usr/local/share/guile}.
|
@samp{/usr/local/share/guile}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %library-dir
|
@deffn {Scheme Procedure} %library-dir
|
||||||
|
@deffnx {C Function} scm_sys_library_dir ()
|
||||||
Return the directory where the Guile Scheme library files are installed.
|
Return the directory where the Guile Scheme library files are installed.
|
||||||
E.g., may return "/usr/share/guile/1.3.5".
|
E.g., may return "/usr/share/guile/1.3.5".
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive %site-dir
|
@deffn {Scheme Procedure} %site-dir
|
||||||
|
@deffnx {C Function} scm_sys_site_dir ()
|
||||||
Return the directory where the Guile site files are installed.
|
Return the directory where the Guile site files are installed.
|
||||||
E.g., may return "/usr/share/guile/site".
|
E.g., may return "/usr/share/guile/site".
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive parse-path path [tail]
|
@deffn {Scheme Procedure} parse-path path [tail]
|
||||||
|
@deffnx {C Function} scm_parse_path (path, tail)
|
||||||
Parse @var{path}, which is expected to be a colon-separated
|
Parse @var{path}, which is expected to be a colon-separated
|
||||||
string, into a list and return the resulting list with
|
string, into a list and return the resulting list with
|
||||||
@var{tail} appended. If @var{path} is @code{#f}, @var{tail}
|
@var{tail} appended. If @var{path} is @code{#f}, @var{tail}
|
||||||
is returned.
|
is returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive search-path path filename [extensions]
|
@deffn {Scheme Procedure} search-path path filename [extensions]
|
||||||
|
@deffnx {C Function} scm_search_path (path, filename, extensions)
|
||||||
Search @var{path} for a directory containing a file named
|
Search @var{path} for a directory containing a file named
|
||||||
@var{filename}. The file must be readable, and not a directory.
|
@var{filename}. The file must be readable, and not a directory.
|
||||||
If we find one, return its full filename; otherwise, return
|
If we find one, return its full filename; otherwise, return
|
||||||
|
|
|
@ -347,15 +347,18 @@ for primitive procedures, and @code{thunk?} only returns @code{#t} for
|
||||||
procedures which do not accept any arguments.
|
procedures which do not accept any arguments.
|
||||||
|
|
||||||
@rnindex procedure?
|
@rnindex procedure?
|
||||||
@deffn primitive procedure? obj
|
@deffn {Scheme Procedure} procedure? obj
|
||||||
|
@deffnx {C Function} scm_procedure_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a procedure.
|
Return @code{#t} if @var{obj} is a procedure.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive closure? obj
|
@deffn {Scheme Procedure} closure? obj
|
||||||
|
@deffnx {C Function} scm_closure_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a closure.
|
Return @code{#t} if @var{obj} is a closure.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive thunk? obj
|
@deffn {Scheme Procedure} thunk? obj
|
||||||
|
@deffnx {C Function} scm_thunk_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a thunk.
|
Return @code{#t} if @var{obj} is a thunk.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -365,19 +368,19 @@ Procedure properties are general properties to be attached to
|
||||||
procedures. These can be the name of a procedure or other relevant
|
procedures. These can be the name of a procedure or other relevant
|
||||||
information, such as debug hints.
|
information, such as debug hints.
|
||||||
|
|
||||||
@deffn primitive procedure-properties proc
|
@deffn {Scheme Procedure} procedure-properties proc
|
||||||
Return @var{obj}'s property list.
|
Return @var{obj}'s property list.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure-property p k
|
@deffn {Scheme Procedure} procedure-property p k
|
||||||
Return the property of @var{obj} with name @var{key}.
|
Return the property of @var{obj} with name @var{key}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-procedure-properties! proc new_val
|
@deffn {Scheme Procedure} set-procedure-properties! proc new_val
|
||||||
Set @var{obj}'s property list to @var{alist}.
|
Set @var{obj}'s property list to @var{alist}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-procedure-property! p k v
|
@deffn {Scheme Procedure} set-procedure-property! p k v
|
||||||
In @var{obj}'s property list, set the property named @var{key} to
|
In @var{obj}'s property list, set the property named @var{key} to
|
||||||
@var{value}.
|
@var{value}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -386,7 +389,8 @@ In @var{obj}'s property list, set the property named @var{key} to
|
||||||
Documentation for a procedure can be accessed with the procedure
|
Documentation for a procedure can be accessed with the procedure
|
||||||
@code{procedure-documentation}.
|
@code{procedure-documentation}.
|
||||||
|
|
||||||
@deffn primitive procedure-documentation proc
|
@deffn {Scheme Procedure} procedure-documentation proc
|
||||||
|
@deffnx {C Function} scm_procedure_documentation (proc)
|
||||||
Return the documentation string associated with @code{proc}. By
|
Return the documentation string associated with @code{proc}. By
|
||||||
convention, if a procedure contains more than one expression and the
|
convention, if a procedure contains more than one expression and the
|
||||||
first expression is a string constant, that string is assumed to contain
|
first expression is a string constant, that string is assumed to contain
|
||||||
|
@ -398,22 +402,26 @@ documentation for that procedure.
|
||||||
Source properties are properties which are related to the source code of
|
Source properties are properties which are related to the source code of
|
||||||
a procedure, such as the line and column numbers, the file name etc.
|
a procedure, such as the line and column numbers, the file name etc.
|
||||||
|
|
||||||
@deffn primitive set-source-properties! obj plist
|
@deffn {Scheme Procedure} set-source-properties! obj plist
|
||||||
|
@deffnx {C Function} scm_set_source_properties_x (obj, plist)
|
||||||
Install the association list @var{plist} as the source property
|
Install the association list @var{plist} as the source property
|
||||||
list for @var{obj}.
|
list for @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-source-property! obj key datum
|
@deffn {Scheme Procedure} set-source-property! obj key datum
|
||||||
|
@deffnx {C Function} scm_set_source_property_x (obj, key, datum)
|
||||||
Set the source property of object @var{obj}, which is specified by
|
Set the source property of object @var{obj}, which is specified by
|
||||||
@var{key} to @var{datum}. Normally, the key will be a symbol.
|
@var{key} to @var{datum}. Normally, the key will be a symbol.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive source-properties obj
|
@deffn {Scheme Procedure} source-properties obj
|
||||||
|
@deffnx {C Function} scm_source_properties (obj)
|
||||||
Return the source property association list of @var{obj}.
|
Return the source property association list of @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
@deffn primitive source-property obj key
|
@deffn {Scheme Procedure} source-property obj key
|
||||||
|
@deffnx {C Function} scm_source_property (obj, key)
|
||||||
Return the source property specified by @var{key} from
|
Return the source property specified by @var{key} from
|
||||||
@var{obj}'s source property list.
|
@var{obj}'s source property list.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -480,22 +488,25 @@ structure stored in @code{f}, or to write into the structure.
|
||||||
(foo f 0) @result{} dum
|
(foo f 0) @result{} dum
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@deffn primitive make-procedure-with-setter procedure setter
|
@deffn {Scheme Procedure} make-procedure-with-setter procedure setter
|
||||||
|
@deffnx {C Function} scm_make_procedure_with_setter (procedure, setter)
|
||||||
Create a new procedure which behaves like @var{procedure}, but
|
Create a new procedure which behaves like @var{procedure}, but
|
||||||
with the associated setter @var{setter}.
|
with the associated setter @var{setter}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure-with-setter? obj
|
@deffn {Scheme Procedure} procedure-with-setter? obj
|
||||||
|
@deffnx {C Function} scm_procedure_with_setter_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a procedure with an
|
Return @code{#t} if @var{obj} is a procedure with an
|
||||||
associated setter procedure.
|
associated setter procedure.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure proc
|
@deffn {Scheme Procedure} procedure proc
|
||||||
|
@deffnx {C Function} scm_procedure (proc)
|
||||||
Return the procedure of @var{proc}, which must be either a
|
Return the procedure of @var{proc}, which must be either a
|
||||||
procedure with setter, or an operator struct.
|
procedure with setter, or an operator struct.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive setter proc
|
@deffn {Scheme Procedure} setter proc
|
||||||
Return the setter of @var{proc}, which must be either a procedure with
|
Return the setter of @var{proc}, which must be either a procedure with
|
||||||
setter or an operator struct.
|
setter or an operator struct.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -710,13 +721,15 @@ change. Use @code{defmacro}, @code{define-macro} (@pxref{Macros}) or
|
||||||
terms, @code{defmacro}, @code{define-macro} and @code{define-syntax} are
|
terms, @code{defmacro}, @code{define-macro} and @code{define-syntax} are
|
||||||
all implemented as mmacros.)
|
all implemented as mmacros.)
|
||||||
|
|
||||||
@deffn primitive procedure->syntax code
|
@deffn {Scheme Procedure} procedure->syntax code
|
||||||
|
@deffnx {C Function} scm_makacro (code)
|
||||||
Return a macro which, when a symbol defined to this value appears as the
|
Return a macro which, when a symbol defined to this value appears as the
|
||||||
first symbol in an expression, returns the result of applying @var{code}
|
first symbol in an expression, returns the result of applying @var{code}
|
||||||
to the expression and the environment.
|
to the expression and the environment.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure->macro code
|
@deffn {Scheme Procedure} procedure->macro code
|
||||||
|
@deffnx {C Function} scm_makmacro (code)
|
||||||
Return a macro which, when a symbol defined to this value appears as the
|
Return a macro which, when a symbol defined to this value appears as the
|
||||||
first symbol in an expression, evaluates the result of applying
|
first symbol in an expression, evaluates the result of applying
|
||||||
@var{code} to the expression and the environment. For example:
|
@var{code} to the expression and the environment. For example:
|
||||||
|
@ -733,7 +746,8 @@ first symbol in an expression, evaluates the result of applying
|
||||||
@end lisp
|
@end lisp
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure->memoizing-macro code
|
@deffn {Scheme Procedure} procedure->memoizing-macro code
|
||||||
|
@deffnx {C Function} scm_makmmacro (code)
|
||||||
Return a macro which, when a symbol defined to this value appears as the
|
Return a macro which, when a symbol defined to this value appears as the
|
||||||
first symbol in an expression, evaluates the result of applying
|
first symbol in an expression, evaluates the result of applying
|
||||||
@var{code} to the expression and the environment.
|
@var{code} to the expression and the environment.
|
||||||
|
@ -746,12 +760,14 @@ of the containing code.
|
||||||
In the following primitives, @dfn{acro} flavor 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 {Scheme Procedure} macro? obj
|
||||||
|
@deffnx {C Function} scm_macro_p (obj)
|
||||||
Return @code{#t} if @var{obj} is a regular macro, a memoizing macro or a
|
Return @code{#t} if @var{obj} is a regular macro, a memoizing macro or a
|
||||||
syntax transformer.
|
syntax transformer.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive macro-type m
|
@deffn {Scheme Procedure} macro-type m
|
||||||
|
@deffnx {C Function} scm_macro_type (m)
|
||||||
Return one of the symbols @code{syntax}, @code{macro} or
|
Return one of the symbols @code{syntax}, @code{macro} or
|
||||||
@code{macro!}, depending on whether @var{m} is a syntax
|
@code{macro!}, depending on whether @var{m} is a syntax
|
||||||
transformer, a regular macro, or a memoizing macro,
|
transformer, a regular macro, or a memoizing macro,
|
||||||
|
@ -759,15 +775,18 @@ respectively. If @var{m} is not a macro, @code{#f} is
|
||||||
returned.
|
returned.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive macro-name m
|
@deffn {Scheme Procedure} macro-name m
|
||||||
|
@deffnx {C Function} scm_macro_name (m)
|
||||||
Return the name of the macro @var{m}.
|
Return the name of the macro @var{m}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive macro-transformer m
|
@deffn {Scheme Procedure} macro-transformer m
|
||||||
|
@deffnx {C Function} scm_macro_transformer (m)
|
||||||
Return the transformer of the macro @var{m}.
|
Return the transformer of the macro @var{m}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive cons-source xorig x y
|
@deffn {Scheme Procedure} cons-source xorig x y
|
||||||
|
@deffnx {C Function} scm_cons_source (xorig, x, y)
|
||||||
Create and return a new pair whose car and cdr are @var{x} and @var{y}.
|
Create and return a new pair whose car and cdr are @var{x} and @var{y}.
|
||||||
Any source properties associated with @var{xorig} are also associated
|
Any source properties associated with @var{xorig} are also associated
|
||||||
with the new pair.
|
with the new pair.
|
||||||
|
|
|
@ -30,18 +30,21 @@ otherwise it will fail and return @code{#f}. Once an arbiter is
|
||||||
successfully locked, it cannot be locked by another thread until the
|
successfully locked, it cannot be locked by another thread until the
|
||||||
thread holding the arbiter calls @code{release-arbiter} to unlock it.
|
thread holding the arbiter calls @code{release-arbiter} to unlock it.
|
||||||
|
|
||||||
@deffn primitive make-arbiter name
|
@deffn {Scheme Procedure} make-arbiter name
|
||||||
|
@deffnx {C Function} scm_make_arbiter (name)
|
||||||
Return an object of type arbiter and name @var{name}. Its
|
Return an object of type arbiter and name @var{name}. Its
|
||||||
state is initially unlocked. Arbiters are a way to achieve
|
state is initially unlocked. Arbiters are a way to achieve
|
||||||
process synchronization.
|
process synchronization.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive try-arbiter arb
|
@deffn {Scheme Procedure} try-arbiter arb
|
||||||
|
@deffnx {C Function} scm_try_arbiter (arb)
|
||||||
Return @code{#t} and lock the arbiter @var{arb} if the arbiter
|
Return @code{#t} and lock the arbiter @var{arb} if the arbiter
|
||||||
was unlocked. Otherwise, return @code{#f}.
|
was unlocked. Otherwise, return @code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive release-arbiter arb
|
@deffn {Scheme Procedure} release-arbiter arb
|
||||||
|
@deffnx {C Function} scm_release_arbiter (arb)
|
||||||
Return @code{#t} and unlock the arbiter @var{arb} if the
|
Return @code{#t} and unlock the arbiter @var{arb} if the
|
||||||
arbiter was locked. Otherwise, return @code{#f}.
|
arbiter was locked. Otherwise, return @code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -70,20 +73,24 @@ Normal asyncs are created with @code{async}, system asyncs with
|
||||||
@code{system-async}. They are marked with @code{async-mark} or
|
@code{system-async}. They are marked with @code{async-mark} or
|
||||||
@code{system-async-mark}, respectively.
|
@code{system-async-mark}, respectively.
|
||||||
|
|
||||||
@deffn primitive async thunk
|
@deffn {Scheme Procedure} async thunk
|
||||||
|
@deffnx {C Function} scm_async (thunk)
|
||||||
Create a new async for the procedure @var{thunk}.
|
Create a new async for the procedure @var{thunk}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive system-async thunk
|
@deffn {Scheme Procedure} system-async thunk
|
||||||
|
@deffnx {C Function} scm_system_async (thunk)
|
||||||
Create a new async for the procedure @var{thunk}. Also
|
Create a new async for the procedure @var{thunk}. Also
|
||||||
add it to the system's list of active async objects.
|
add it to the system's list of active async objects.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive async-mark a
|
@deffn {Scheme Procedure} async-mark a
|
||||||
|
@deffnx {C Function} scm_async_mark (a)
|
||||||
Mark the async @var{a} for future execution.
|
Mark the async @var{a} for future execution.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive system-async-mark a
|
@deffn {Scheme Procedure} system-async-mark a
|
||||||
|
@deffnx {C Function} scm_system_async_mark (a)
|
||||||
Mark the async @var{a} for future execution.
|
Mark the async @var{a} for future execution.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -91,7 +98,8 @@ As already mentioned above, system asyncs are executed automatically.
|
||||||
Normal asyncs have to be explicitly invoked by storing one or more of
|
Normal asyncs have to be explicitly invoked by storing one or more of
|
||||||
them into a list and passing them to @code{run-asyncs}.
|
them into a list and passing them to @code{run-asyncs}.
|
||||||
|
|
||||||
@deffn primitive run-asyncs list_of_a
|
@deffn {Scheme Procedure} run-asyncs list_of_a
|
||||||
|
@deffnx {C Function} scm_run_asyncs (list_of_a)
|
||||||
Execute all thunks from the asyncs of the list @var{list_of_a}.
|
Execute all thunks from the asyncs of the list @var{list_of_a}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -102,18 +110,21 @@ run once execution is enabled again. Please note that calls to these
|
||||||
procedures should always be paired, and they must not be nested, e.g. no
|
procedures should always be paired, and they must not be nested, e.g. no
|
||||||
@code{mask-signals} is allowed if another one is still active.
|
@code{mask-signals} is allowed if another one is still active.
|
||||||
|
|
||||||
@deffn primitive mask-signals
|
@deffn {Scheme Procedure} mask-signals
|
||||||
|
@deffnx {C Function} scm_mask_signals ()
|
||||||
Mask signals. The returned value is not specified.
|
Mask signals. The returned value is not specified.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive unmask-signals
|
@deffn {Scheme Procedure} unmask-signals
|
||||||
|
@deffnx {C Function} scm_unmask_signals ()
|
||||||
Unmask signals. The returned value is not specified.
|
Unmask signals. The returned value is not specified.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c FIXME::martin: Find an example for usage of `noop'. What is that
|
@c FIXME::martin: Find an example for usage of `noop'. What is that
|
||||||
@c procedure for anyway?
|
@c procedure for anyway?
|
||||||
|
|
||||||
@deffn primitive noop . args
|
@deffn {Scheme Procedure} noop . args
|
||||||
|
@deffnx {C Function} scm_noop (args)
|
||||||
Do nothing. When called without arguments, return @code{#f},
|
Do nothing. When called without arguments, return @code{#f},
|
||||||
otherwise return the first argument.
|
otherwise return the first argument.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -139,7 +150,8 @@ dynamic root. For example, if you want to apply a procedure, but to
|
||||||
not allow that procedure to capture the current continuation, calling
|
not allow that procedure to capture the current continuation, calling
|
||||||
the procedure under a new dynamic root will do the job.
|
the procedure under a new dynamic root will do the job.
|
||||||
|
|
||||||
@deffn primitive call-with-dynamic-root thunk handler
|
@deffn {Scheme Procedure} call-with-dynamic-root thunk handler
|
||||||
|
@deffnx {C Function} scm_call_with_dynamic_root (thunk, handler)
|
||||||
Evaluate @code{(thunk)} in a new dynamic context, returning its value.
|
Evaluate @code{(thunk)} in a new dynamic context, returning its value.
|
||||||
|
|
||||||
If an error occurs during evaluation, apply @var{handler} to the
|
If an error occurs during evaluation, apply @var{handler} to the
|
||||||
|
@ -185,7 +197,8 @@ be under a new dynamic root.)
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
@deffn primitive dynamic-root
|
@deffn {Scheme Procedure} dynamic-root
|
||||||
|
@deffnx {C Function} scm_dynamic_root ()
|
||||||
Return an object representing the current dynamic root.
|
Return an object representing the current dynamic root.
|
||||||
|
|
||||||
These objects are only useful for comparison using @code{eq?}.
|
These objects are only useful for comparison using @code{eq?}.
|
||||||
|
@ -194,7 +207,7 @@ in no way depend on this.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (scm-doc-string "boot-9.scm" "quit")
|
@c begin (scm-doc-string "boot-9.scm" "quit")
|
||||||
@deffn procedure quit [exit_val]
|
@deffn {Scheme Procedure} quit [exit_val]
|
||||||
Throw back to the error handler of the current dynamic root.
|
Throw back to the error handler of the current dynamic root.
|
||||||
|
|
||||||
If integer @var{exit_val} is specified and if Guile is being used
|
If integer @var{exit_val} is specified and if Guile is being used
|
||||||
|
@ -215,12 +228,12 @@ from Scheme code to be removed. An example of where this is useful is
|
||||||
after forking a new process intended to run non-interactively.
|
after forking a new process intended to run non-interactively.
|
||||||
|
|
||||||
@c begin (scm-doc-string "boot-9.scm" "batch-mode?")
|
@c begin (scm-doc-string "boot-9.scm" "batch-mode?")
|
||||||
@deffn procedure batch-mode?
|
@deffn {Scheme Procedure} batch-mode?
|
||||||
Returns a boolean indicating whether the interpreter is in batch mode.
|
Returns a boolean indicating whether the interpreter is in batch mode.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (scm-doc-string "boot-9.scm" "set-batch-mode?!")
|
@c begin (scm-doc-string "boot-9.scm" "set-batch-mode?!")
|
||||||
@deffn procedure set-batch-mode?! arg
|
@deffn {Scheme Procedure} set-batch-mode?! arg
|
||||||
If @var{arg} is true, switches the interpreter to batch mode.
|
If @var{arg} is true, switches the interpreter to batch mode.
|
||||||
The @code{#f} case has not been implemented.
|
The @code{#f} case has not been implemented.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -258,7 +271,7 @@ executed in a new dynamic root.
|
||||||
@c are in sync.
|
@c are in sync.
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "call-with-new-thread")
|
@c begin (texi-doc-string "guile" "call-with-new-thread")
|
||||||
@deffn primitive call-with-new-thread thunk error-handler
|
@deffn {Scheme Procedure} call-with-new-thread thunk error-handler
|
||||||
Evaluate @code{(thunk)} in a new thread, and new dynamic context,
|
Evaluate @code{(thunk)} in a new thread, and new dynamic context,
|
||||||
returning a new thread object representing the thread.
|
returning a new thread object representing the thread.
|
||||||
|
|
||||||
|
@ -273,31 +286,31 @@ All the evaluation rules for dynamic roots apply to threads.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "join-thread")
|
@c begin (texi-doc-string "guile" "join-thread")
|
||||||
@deffn primitive join-thread thread
|
@deffn {Scheme Procedure} join-thread thread
|
||||||
Suspend execution of the calling thread until the target @var{thread}
|
Suspend execution of the calling thread until the target @var{thread}
|
||||||
terminates, unless the target @var{thread} has already terminated.
|
terminates, unless the target @var{thread} has already terminated.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "yield")
|
@c begin (texi-doc-string "guile" "yield")
|
||||||
@deffn primitive yield
|
@deffn {Scheme Procedure} yield
|
||||||
If one or more threads are waiting to execute, calling yield forces an
|
If one or more threads are waiting to execute, calling yield forces an
|
||||||
immediate context switch to one of them. Otherwise, yield has no effect.
|
immediate context switch to one of them. Otherwise, yield has no effect.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "make-mutex")
|
@c begin (texi-doc-string "guile" "make-mutex")
|
||||||
@deffn primitive make-mutex
|
@deffn {Scheme Procedure} make-mutex
|
||||||
Create a new mutex object.
|
Create a new mutex object.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "lock-mutex")
|
@c begin (texi-doc-string "guile" "lock-mutex")
|
||||||
@deffn primitive lock-mutex mutex
|
@deffn {Scheme Procedure} lock-mutex mutex
|
||||||
Lock @var{mutex}. If the mutex is already locked, the calling thread
|
Lock @var{mutex}. If the mutex is already locked, the calling thread
|
||||||
blocks until the mutex becomes available. The function returns when
|
blocks until the mutex becomes available. The function returns when
|
||||||
the calling thread owns the lock on @var{mutex}.
|
the calling thread owns the lock on @var{mutex}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "unlock-mutex")
|
@c begin (texi-doc-string "guile" "unlock-mutex")
|
||||||
@deffn primitive unlock-mutex mutex
|
@deffn {Scheme Procedure} unlock-mutex mutex
|
||||||
Unlocks @var{mutex} if the calling thread owns the lock on @var{mutex}.
|
Unlocks @var{mutex} if the calling thread owns the lock on @var{mutex}.
|
||||||
Calling unlock-mutex on a mutex not owned by the current thread results
|
Calling unlock-mutex on a mutex not owned by the current thread results
|
||||||
in undefined behaviour. Once a mutex has been unlocked, one thread
|
in undefined behaviour. Once a mutex has been unlocked, one thread
|
||||||
|
@ -305,15 +318,15 @@ blocked on @var{mutex} is awakened and grabs the mutex lock.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "make-condition-variable")
|
@c begin (texi-doc-string "guile" "make-condition-variable")
|
||||||
@deffn primitive make-condition-variable
|
@deffn {Scheme Procedure} make-condition-variable
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "wait-condition-variable")
|
@c begin (texi-doc-string "guile" "wait-condition-variable")
|
||||||
@deffn primitive wait-condition-variable cond-var mutex
|
@deffn {Scheme Procedure} wait-condition-variable cond-var mutex
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@c begin (texi-doc-string "guile" "signal-condition-variable")
|
@c begin (texi-doc-string "guile" "signal-condition-variable")
|
||||||
@deffn primitive signal-condition-variable cond-var
|
@deffn {Scheme Procedure} signal-condition-variable cond-var
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@ -326,7 +339,7 @@ Higher level thread procedures are available by loading the
|
||||||
@code{(ice-9 threads)} module. These provide standardized
|
@code{(ice-9 threads)} module. These provide standardized
|
||||||
thread creation and mutex interaction.
|
thread creation and mutex interaction.
|
||||||
|
|
||||||
@deffn primitive %thread-handler tag args@dots{}
|
@deffn {Scheme Procedure} %thread-handler tag args@dots{}
|
||||||
|
|
||||||
This procedure is specified as the standard error-handler for
|
This procedure is specified as the standard error-handler for
|
||||||
@code{make-thread} and @code{begin-thread}. If the number of @var{args}
|
@code{make-thread} and @code{begin-thread}. If the number of @var{args}
|
||||||
|
@ -390,7 +403,8 @@ in Scheme---this cannot happen. See the description of
|
||||||
New fluids are created with @code{make-fluid} and @code{fluid?} is used
|
New fluids are created with @code{make-fluid} and @code{fluid?} is used
|
||||||
for testing whether an object is actually a fluid.
|
for testing whether an object is actually a fluid.
|
||||||
|
|
||||||
@deffn primitive make-fluid
|
@deffn {Scheme Procedure} make-fluid
|
||||||
|
@deffnx {C Function} scm_make_fluid ()
|
||||||
Return a newly created fluid.
|
Return a newly created fluid.
|
||||||
Fluids are objects of a certain type (a smob) that can hold one SCM
|
Fluids are objects of a certain type (a smob) that can hold one SCM
|
||||||
value per dynamic root. That is, modifications to this value are
|
value per dynamic root. That is, modifications to this value are
|
||||||
|
@ -400,7 +414,8 @@ inherits the values from its parent. Because each thread executes
|
||||||
in its own dynamic root, you can use fluids for thread local storage.
|
in its own dynamic root, you can use fluids for thread local storage.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive fluid? obj
|
@deffn {Scheme Procedure} fluid? obj
|
||||||
|
@deffnx {C Function} scm_fluid_p (obj)
|
||||||
Return @code{#t} iff @var{obj} is a fluid; otherwise, return
|
Return @code{#t} iff @var{obj} is a fluid; otherwise, return
|
||||||
@code{#f}.
|
@code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -408,13 +423,15 @@ Return @code{#t} iff @var{obj} is a fluid; otherwise, return
|
||||||
The values stored in a fluid can be accessed with @code{fluid-ref} and
|
The values stored in a fluid can be accessed with @code{fluid-ref} and
|
||||||
@code{fluid-set!}.
|
@code{fluid-set!}.
|
||||||
|
|
||||||
@deffn primitive fluid-ref fluid
|
@deffn {Scheme Procedure} fluid-ref fluid
|
||||||
|
@deffnx {C Function} scm_fluid_ref (fluid)
|
||||||
Return the value associated with @var{fluid} in the current
|
Return the value associated with @var{fluid} in the current
|
||||||
dynamic root. If @var{fluid} has not been set, then return
|
dynamic root. If @var{fluid} has not been set, then return
|
||||||
@code{#f}.
|
@code{#f}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive fluid-set! fluid value
|
@deffn {Scheme Procedure} fluid-set! fluid value
|
||||||
|
@deffnx {C Function} scm_fluid_set_x (fluid, value)
|
||||||
Set the value associated with @var{fluid} in the current dynamic root.
|
Set the value associated with @var{fluid} in the current dynamic root.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -422,7 +439,8 @@ Set the value associated with @var{fluid} in the current dynamic root.
|
||||||
so that the given procedure and each procedure called by it access the
|
so that the given procedure and each procedure called by it access the
|
||||||
given values. After the procedure returns, the old values are restored.
|
given values. After the procedure returns, the old values are restored.
|
||||||
|
|
||||||
@deffn primitive with-fluids* fluids values thunk
|
@deffn {Scheme Procedure} with-fluids* fluids values thunk
|
||||||
|
@deffnx {C Function} scm_with_fluids (fluids, values, thunk)
|
||||||
Set @var{fluids} to @var{values} temporary, and call @var{thunk}.
|
Set @var{fluids} to @var{values} temporary, and call @var{thunk}.
|
||||||
@var{fluids} must be a list of fluids and @var{values} must be the same
|
@var{fluids} must be a list of fluids and @var{values} must be the same
|
||||||
number of their values to be applied. Each substitution is done
|
number of their values to be applied. Each substitution is done
|
||||||
|
|
|
@ -12,30 +12,34 @@
|
||||||
@node Emacs Lisp Support
|
@node Emacs Lisp Support
|
||||||
@section Emacs Lisp Support
|
@section Emacs Lisp Support
|
||||||
|
|
||||||
@deffn primitive nil-car x
|
@deffn {Scheme Procedure} nil-car x
|
||||||
Return the car of @var{x}, but convert it to Lisp nil if it
|
@deffnx {C Function} scm_nil_car (x)
|
||||||
|
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 {Scheme Procedure} nil-cdr x
|
||||||
Return the cdr of @var{x}, but convert it to Lisp nil if it
|
@deffnx {C Function} scm_nil_cdr (x)
|
||||||
|
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 {Scheme Procedure} nil-cons x y
|
||||||
|
@deffnx {C Function} scm_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 {Scheme Procedure} 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 {Scheme Procedure} null x
|
||||||
Return Lisp's @code{t} if @var{x} is nil in the Lisp sense,
|
@deffnx {C Function} scm_null (x)
|
||||||
return Lisp's nil otherwise.
|
Return LISP's @code{t} if @var{x} is nil in the LISP sense,
|
||||||
|
return LISP's nil otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ procedures for testing for equality are provided, which correspond to
|
||||||
the three kinds of @dfn{sameness} defined above.
|
the three kinds of @dfn{sameness} defined above.
|
||||||
|
|
||||||
@rnindex eq?
|
@rnindex eq?
|
||||||
@deffn primitive eq? x y
|
@deffn {Scheme Procedure} eq? x y
|
||||||
Return @code{#t} iff @var{x} references the same object as @var{y}.
|
Return @code{#t} iff @var{x} references the same object as @var{y}.
|
||||||
@code{eq?} is similar to @code{eqv?} except that in some cases it is
|
@code{eq?} is similar to @code{eqv?} except that in some cases it is
|
||||||
capable of discerning distinctions finer than those detectable by
|
capable of discerning distinctions finer than those detectable by
|
||||||
|
@ -55,7 +55,7 @@ capable of discerning distinctions finer than those detectable by
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex eqv?
|
@rnindex eqv?
|
||||||
@deffn primitive eqv? x y
|
@deffn {Scheme Procedure} eqv? x y
|
||||||
The @code{eqv?} procedure defines a useful equivalence relation on objects.
|
The @code{eqv?} procedure defines a useful equivalence relation on objects.
|
||||||
Briefly, it returns @code{#t} if @var{x} and @var{y} should normally be
|
Briefly, it returns @code{#t} if @var{x} and @var{y} should normally be
|
||||||
regarded as the same object. This relation is left slightly open to
|
regarded as the same object. This relation is left slightly open to
|
||||||
|
@ -64,7 +64,7 @@ and inexact numbers.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@rnindex equal?
|
@rnindex equal?
|
||||||
@deffn primitive equal? x y
|
@deffn {Scheme Procedure} equal? x y
|
||||||
Return @code{#t} iff @var{x} and @var{y} are recursively @code{eqv?} equivalent.
|
Return @code{#t} iff @var{x} and @var{y} are recursively @code{eqv?} equivalent.
|
||||||
@code{equal?} recursively compares the contents of pairs,
|
@code{equal?} recursively compares the contents of pairs,
|
||||||
vectors, and strings, applying @code{eqv?} on other objects such as
|
vectors, and strings, applying @code{eqv?} on other objects such as
|
||||||
|
@ -89,23 +89,27 @@ closures than for other kinds of objects. Therefore, when manipulating
|
||||||
a property list associated with a procedure object, use the
|
a property list associated with a procedure object, use the
|
||||||
@code{procedure} functions; otherwise, use the @code{object} functions.
|
@code{procedure} functions; otherwise, use the @code{object} functions.
|
||||||
|
|
||||||
@deffn primitive object-properties obj
|
@deffn {Scheme Procedure} object-properties obj
|
||||||
@deffnx primitive procedure-properties obj
|
@deffnx {Scheme Procedure} procedure-properties obj
|
||||||
|
@deffnx {C Function} scm_object_properties (obj)
|
||||||
Return @var{obj}'s property list.
|
Return @var{obj}'s property list.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-object-properties! obj alist
|
@deffn {Scheme Procedure} set-object-properties! obj alist
|
||||||
@deffnx primitive set-procedure-properties! obj alist
|
@deffnx {Scheme Procedure} set-procedure-properties! obj alist
|
||||||
|
@deffnx {C Function} scm_set_object_properties_x (obj, alist)
|
||||||
Set @var{obj}'s property list to @var{alist}.
|
Set @var{obj}'s property list to @var{alist}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive object-property obj key
|
@deffn {Scheme Procedure} object-property obj key
|
||||||
@deffnx primitive procedure-property obj key
|
@deffnx {Scheme Procedure} procedure-property obj key
|
||||||
|
@deffnx {C Function} scm_object_property (obj, key)
|
||||||
Return the property of @var{obj} with name @var{key}.
|
Return the property of @var{obj} with name @var{key}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive set-object-property! obj key value
|
@deffn {Scheme Procedure} set-object-property! obj key value
|
||||||
@deffnx primitive set-procedure-property! obj key value
|
@deffnx {Scheme Procedure} set-procedure-property! obj key value
|
||||||
|
@deffnx {C Function} scm_set_object_property_x (obj, key, value)
|
||||||
In @var{obj}'s property list, set the property named @var{key}
|
In @var{obj}'s property list, set the property named @var{key}
|
||||||
to @var{value}.
|
to @var{value}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
@ -117,14 +121,16 @@ the user provides a "property table" that is possibly private.]
|
||||||
@node Primitive Properties
|
@node Primitive Properties
|
||||||
@section Primitive Properties
|
@section Primitive Properties
|
||||||
|
|
||||||
@deffn primitive primitive-make-property not_found_proc
|
@deffn {Scheme Procedure} primitive-make-property not_found_proc
|
||||||
|
@deffnx {C Function} scm_primitive_make_property (not_found_proc)
|
||||||
Create a @dfn{property token} that can be used with
|
Create a @dfn{property token} that can be used with
|
||||||
@code{primitive-property-ref} and @code{primitive-property-set!}.
|
@code{primitive-property-ref} and @code{primitive-property-set!}.
|
||||||
See @code{primitive-property-ref} for the significance of
|
See @code{primitive-property-ref} for the significance of
|
||||||
@var{not_found_proc}.
|
@var{not_found_proc}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive primitive-property-ref prop obj
|
@deffn {Scheme Procedure} primitive-property-ref prop obj
|
||||||
|
@deffnx {C Function} scm_primitive_property_ref (prop, obj)
|
||||||
Return the property @var{prop} of @var{obj}. When no value
|
Return the property @var{prop} of @var{obj}. When no value
|
||||||
has yet been associated with @var{prop} and @var{obj}, call
|
has yet been associated with @var{prop} and @var{obj}, call
|
||||||
@var{not-found-proc} instead (see @code{primitive-make-property})
|
@var{not-found-proc} instead (see @code{primitive-make-property})
|
||||||
|
@ -134,11 +140,13 @@ and use its return value. That value is also associated with
|
||||||
default value of @var{prop}.
|
default value of @var{prop}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive primitive-property-set! prop obj val
|
@deffn {Scheme Procedure} primitive-property-set! prop obj val
|
||||||
|
@deffnx {C Function} scm_primitive_property_set_x (prop, obj, val)
|
||||||
Associate @var{code} with @var{prop} and @var{obj}.
|
Associate @var{code} with @var{prop} and @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive primitive-property-del! prop obj
|
@deffn {Scheme Procedure} primitive-property-del! prop obj
|
||||||
|
@deffnx {C Function} scm_primitive_property_del_x (prop, obj)
|
||||||
Remove any value associated with @var{prop} and @var{obj}.
|
Remove any value associated with @var{prop} and @var{obj}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -161,7 +169,8 @@ The first group of procedures can be used to merge two lists (which must
|
||||||
be already sorted on their own) and produce sorted lists containing
|
be already sorted on their own) and produce sorted lists containing
|
||||||
all elements of the input lists.
|
all elements of the input lists.
|
||||||
|
|
||||||
@deffn primitive merge alist blist less
|
@deffn {Scheme Procedure} merge alist blist less
|
||||||
|
@deffnx {C Function} scm_merge (alist, blist, less)
|
||||||
Take two lists @var{alist} and @var{blist} such that
|
Take two lists @var{alist} and @var{blist} such that
|
||||||
@code{(sorted? alist less?)} and @code{(sorted? blist less?)} and
|
@code{(sorted? alist less?)} and @code{(sorted? blist less?)} and
|
||||||
returns a new list in which the elements of @var{alist} and
|
returns a new list in which the elements of @var{alist} and
|
||||||
|
@ -169,7 +178,8 @@ returns a new list in which the elements of @var{alist} and
|
||||||
@code{(sorted? (merge alist blist less?) less?)}.
|
@code{(sorted? (merge alist blist less?) less?)}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive merge! alist blist less
|
@deffn {Scheme Procedure} merge! alist blist less
|
||||||
|
@deffnx {C Function} scm_merge_x (alist, blist, less)
|
||||||
Takes two lists @var{alist} and @var{blist} such that
|
Takes two lists @var{alist} and @var{blist} such that
|
||||||
@code{(sorted? alist less?)} and @code{(sorted? blist less?)} and
|
@code{(sorted? alist less?)} and @code{(sorted? blist less?)} and
|
||||||
returns a new list in which the elements of @var{alist} and
|
returns a new list in which the elements of @var{alist} and
|
||||||
|
@ -189,19 +199,22 @@ If two or more elements are the same according to the comparison
|
||||||
predicate, they are left in the same order as they appeared in the
|
predicate, they are left in the same order as they appeared in the
|
||||||
input.
|
input.
|
||||||
|
|
||||||
@deffn primitive sorted? items less
|
@deffn {Scheme Procedure} sorted? items less
|
||||||
|
@deffnx {C Function} scm_sorted_p (items, less)
|
||||||
Return @code{#t} iff @var{items} is a list or a vector such that
|
Return @code{#t} iff @var{items} is a list or a vector such that
|
||||||
for all 1 <= i <= m, the predicate @var{less} returns true when
|
for all 1 <= i <= m, the predicate @var{less} returns true when
|
||||||
applied to all elements i - 1 and i
|
applied to all elements i - 1 and i
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive sort items less
|
@deffn {Scheme Procedure} sort items less
|
||||||
|
@deffnx {C Function} scm_sort (items, less)
|
||||||
Sort the sequence @var{items}, which may be a list or a
|
Sort the sequence @var{items}, which may be a list or a
|
||||||
vector. @var{less} is used for comparing the sequence
|
vector. @var{less} is used for comparing the sequence
|
||||||
elements. This is not a stable sort.
|
elements. This is not a stable sort.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive sort! items less
|
@deffn {Scheme Procedure} sort! items less
|
||||||
|
@deffnx {C Function} scm_sort_x (items, less)
|
||||||
Sort the sequence @var{items}, which may be a list or a
|
Sort the sequence @var{items}, which may be a list or a
|
||||||
vector. @var{less} is used for comparing the sequence
|
vector. @var{less} is used for comparing the sequence
|
||||||
elements. The sorting is destructive, that means that the
|
elements. The sorting is destructive, that means that the
|
||||||
|
@ -209,13 +222,15 @@ input sequence is modified to produce the sorted result.
|
||||||
This is not a stable sort.
|
This is not a stable sort.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive stable-sort items less
|
@deffn {Scheme Procedure} stable-sort items less
|
||||||
|
@deffnx {C Function} scm_stable_sort (items, less)
|
||||||
Sort the sequence @var{items}, which may be a list or a
|
Sort the sequence @var{items}, which may be a list or a
|
||||||
vector. @var{less} is used for comparing the sequence elements.
|
vector. @var{less} is used for comparing the sequence elements.
|
||||||
This is a stable sort.
|
This is a stable sort.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive stable-sort! items less
|
@deffn {Scheme Procedure} stable-sort! items less
|
||||||
|
@deffnx {C Function} scm_stable_sort_x (items, less)
|
||||||
Sort the sequence @var{items}, which may be a list or a
|
Sort the sequence @var{items}, which may be a list or a
|
||||||
vector. @var{less} is used for comparing the sequence elements.
|
vector. @var{less} is used for comparing the sequence elements.
|
||||||
The sorting is destructive, that means that the input sequence
|
The sorting is destructive, that means that the input sequence
|
||||||
|
@ -226,19 +241,22 @@ This is a stable sort.
|
||||||
The procedures in the last group only accept lists or vectors as input,
|
The procedures in the last group only accept lists or vectors as input,
|
||||||
as their names indicate.
|
as their names indicate.
|
||||||
|
|
||||||
@deffn primitive sort-list items less
|
@deffn {Scheme Procedure} sort-list items less
|
||||||
|
@deffnx {C Function} scm_sort_list (items, less)
|
||||||
Sort the list @var{items}, using @var{less} for comparing the
|
Sort the list @var{items}, using @var{less} for comparing the
|
||||||
list elements. This is a stable sort.
|
list elements. This is a stable sort.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive sort-list! items less
|
@deffn {Scheme Procedure} sort-list! items less
|
||||||
|
@deffnx {C Function} scm_sort_list_x (items, less)
|
||||||
Sort the list @var{items}, using @var{less} for comparing the
|
Sort the list @var{items}, using @var{less} for comparing the
|
||||||
list elements. The sorting is destructive, that means that the
|
list elements. The sorting is destructive, that means that the
|
||||||
input list is modified to produce the sorted result.
|
input list is modified to produce the sorted result.
|
||||||
This is a stable sort.
|
This is a stable sort.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive restricted-vector-sort! vec less startpos endpos
|
@deffn {Scheme Procedure} restricted-vector-sort! vec less startpos endpos
|
||||||
|
@deffnx {C Function} scm_restricted_vector_sort_x (vec, less, startpos, endpos)
|
||||||
Sort the vector @var{vec}, using @var{less} for comparing
|
Sort the vector @var{vec}, using @var{less} for comparing
|
||||||
the vector elements. @var{startpos} and @var{endpos} delimit
|
the vector elements. @var{startpos} and @var{endpos} delimit
|
||||||
the range of the vector which gets sorted. The return value
|
the range of the vector which gets sorted. The return value
|
||||||
|
@ -257,7 +275,8 @@ procedures for copying vectors. @code{copy-tree} can be used for these
|
||||||
application, as it does not only copy the spine of a list, but also
|
application, as it does not only copy the spine of a list, but also
|
||||||
copies any pairs in the cars of the input lists.
|
copies any pairs in the cars of the input lists.
|
||||||
|
|
||||||
@deffn primitive copy-tree obj
|
@deffn {Scheme Procedure} copy-tree obj
|
||||||
|
@deffnx {C Function} scm_copy_tree (obj)
|
||||||
Recursively copy the data tree that is bound to @var{obj}, and return a
|
Recursively copy the data tree that is bound to @var{obj}, and return a
|
||||||
pointer to the new data structure. @code{copy-tree} recurses down the
|
pointer to the new data structure. @code{copy-tree} recurses down the
|
||||||
contents of both pairs and vectors (since both cons cells and vector
|
contents of both pairs and vectors (since both cons cells and vector
|
||||||
|
@ -283,7 +302,8 @@ Converting an object back from the string is only possible if the object
|
||||||
type has a read syntax and the read syntax is preserved by the printing
|
type has a read syntax and the read syntax is preserved by the printing
|
||||||
procedure.
|
procedure.
|
||||||
|
|
||||||
@deffn primitive object->string obj [printer]
|
@deffn {Scheme Procedure} object->string obj [printer]
|
||||||
|
@deffnx {C Function} scm_object_to_string (obj, printer)
|
||||||
Return a Scheme string obtained by printing @var{obj}.
|
Return a Scheme string obtained by printing @var{obj}.
|
||||||
Printing function can be specified by the optional second
|
Printing function can be specified by the optional second
|
||||||
argument @var{printer} (default: @code{write}).
|
argument @var{printer} (default: @code{write}).
|
||||||
|
|
|
@ -363,12 +363,12 @@ be @code{#f} if no additional objects are required.
|
||||||
In addition to @code{catch} and @code{throw}, the following Scheme
|
In addition to @code{catch} and @code{throw}, the following Scheme
|
||||||
facilities are available:
|
facilities are available:
|
||||||
|
|
||||||
@deffn primitive scm-error key subr message args rest
|
@deffn {Scheme Procedure} scm-error key subr message args rest
|
||||||
Throw an error, with arguments
|
Throw an error, with arguments
|
||||||
as described above.
|
as described above.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn procedure error msg arg @dots{}
|
@deffn {Scheme Procedure} error msg arg @dots{}
|
||||||
Throw an error using the key @code{'misc-error}. The error
|
Throw an error using the key @code{'misc-error}. The error
|
||||||
message is created by displaying @var{msg} and writing the @var{args}.
|
message is created by displaying @var{msg} and writing the @var{args}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
|
@ -343,7 +343,7 @@ as ordinary argument strings.
|
||||||
@node getopt-long Reference
|
@node getopt-long Reference
|
||||||
@subsection Reference Documentation for @code{getopt-long}
|
@subsection Reference Documentation for @code{getopt-long}
|
||||||
|
|
||||||
@deffn procedure getopt-long args grammar
|
@deffn {Scheme Procedure} getopt-long args grammar
|
||||||
Parse the command line given in @var{args} (which must be a list of
|
Parse the command line given in @var{args} (which must be a list of
|
||||||
strings) according to the option specification @var{grammar}.
|
strings) according to the option specification @var{grammar}.
|
||||||
|
|
||||||
|
@ -416,7 +416,7 @@ An option predicate fails.
|
||||||
@node option-ref Reference
|
@node option-ref Reference
|
||||||
@subsection Reference Documentation for @code{option-ref}
|
@subsection Reference Documentation for @code{option-ref}
|
||||||
|
|
||||||
@deffn procedure option-ref options key default
|
@deffn {Scheme Procedure} option-ref options key default
|
||||||
Search @var{options} for a command line option named @var{key} and
|
Search @var{options} for a command line option named @var{key} and
|
||||||
return its value, if found. If the option has no value, but was given,
|
return its value, if found. If the option has no value, but was given,
|
||||||
return @code{#t}. If the option was not given, return @var{default}.
|
return @code{#t}. If the option was not given, return @var{default}.
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,43 @@
|
||||||
|
2002-03-14 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
|
* strop.c (scm_string_split): Correct quoting in docstring.
|
||||||
|
(scm_string_ci_to_symbol): Correct hyphen.
|
||||||
|
|
||||||
|
* ports.c (scm_sys_make_void_port): Add @file to docstring.
|
||||||
|
|
||||||
|
* numbers.c (scm_number_p, scm_real_p): In docstring, change
|
||||||
|
`else' to `otherwise'.
|
||||||
|
|
||||||
|
* macros.c (scm_makmacro, scm_makmmacro): Correct docstring.
|
||||||
|
(scm_macro_type): Correct spelling mistake.
|
||||||
|
|
||||||
|
* eval.c (scm_eval, scm_eval_options_interface), read.c
|
||||||
|
(scm_read_options): Change incorrect @var in docstring to @code.
|
||||||
|
|
||||||
|
* backtrace.c (scm_display_error), filesys.c (scm_umask,
|
||||||
|
scm_select, scm_basename), goops.c (scm_method_generic_function),
|
||||||
|
numbers.c (scm_integer_length), ports.c
|
||||||
|
(scm_close_all_ports_except), posix.c (scm_getgroups, scm_execl,
|
||||||
|
scm_setlocale, scm_flock), socket.c (scm_shutdown): Correct
|
||||||
|
spelling mistakes.
|
||||||
|
|
||||||
|
* alist.c (scm_acons, scm_assq), ramap.c (scm_array_fill_x,
|
||||||
|
scm_array_copy_x, scm_array_for_each, scm_array_index_map_x),
|
||||||
|
sort.c (scm_merge), strings.c (scm_string_p), unif.c
|
||||||
|
(scm_array_set_x, scm_uniform_array_read_x, scm_bit_invert_x):
|
||||||
|
Change active verb in docstring to imperative.
|
||||||
|
|
||||||
|
* snarf.h (SCM_SNARF_DOCS, SCM_DEFINE, SCM_DEFINE1,
|
||||||
|
SCM_REGISTER_PROC): Include C function name in snarf docs output.
|
||||||
|
|
||||||
|
* Makefile.am (guile-procedures.texi): Build two copies of snarfed
|
||||||
|
documentation, one for the manual and one for online help.
|
||||||
|
|
||||||
|
* alist.c, feature.c, list.c, net_db.c, objprop.c, ports.c,
|
||||||
|
ramap.c, strings.c, struct.c, unif.c, vectors.c, version.c,
|
||||||
|
weaks.c: In docstrings, replace all occurrences of the @deffn
|
||||||
|
category `primitive' by `{Scheme Procedure}'.
|
||||||
|
|
||||||
2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
|
2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
|
||||||
|
|
||||||
* guile-snarf.in: Update copyright.
|
* guile-snarf.in: Update copyright.
|
||||||
|
|
|
@ -90,7 +90,7 @@ DOT_DOC_FILES = alist.doc arbiters.doc async.doc backtrace.doc \
|
||||||
EXTRA_DOT_DOC_FILES = @EXTRA_DOT_DOC_FILES@
|
EXTRA_DOT_DOC_FILES = @EXTRA_DOT_DOC_FILES@
|
||||||
|
|
||||||
BUILT_SOURCES = cpp_err_symbols.c cpp_sig_symbols.c libpath.h scmconfig.h \
|
BUILT_SOURCES = cpp_err_symbols.c cpp_sig_symbols.c libpath.h scmconfig.h \
|
||||||
$(DOT_X_FILES) $(EXTRA_DOT_X_FILES)
|
$(DOT_X_FILES) $(EXTRA_DOT_X_FILES) guile.texi
|
||||||
|
|
||||||
EXTRA_libguile_la_SOURCES = _scm.h \
|
EXTRA_libguile_la_SOURCES = _scm.h \
|
||||||
alloca.c inet_aton.c memmove.c putenv.c strerror.c \
|
alloca.c inet_aton.c memmove.c putenv.c strerror.c \
|
||||||
|
@ -189,6 +189,7 @@ libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
|
||||||
|
|
||||||
snarfcppopts = $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
snarfcppopts = $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||||
|
|
||||||
SUFFIXES = .x .doc
|
SUFFIXES = .x .doc
|
||||||
.c.x:
|
.c.x:
|
||||||
./guile-snarf $< $(snarfcppopts)
|
./guile-snarf $< $(snarfcppopts)
|
||||||
|
@ -212,17 +213,20 @@ snarf2checkedtexi = $(preinstguiletool)/snarf-check-and-output-texi
|
||||||
dotdoc2texi = cat $(alldotdocfiles) | $(snarf2checkedtexi)
|
dotdoc2texi = cat $(alldotdocfiles) | $(snarf2checkedtexi)
|
||||||
|
|
||||||
guile.texi: $(alldotdocfiles) guile
|
guile.texi: $(alldotdocfiles) guile
|
||||||
|
$(dotdoc2texi) --manual > $@ || { rm $@; false; }
|
||||||
|
|
||||||
|
guile-procedures.texi: $(alldotdocfiles) guile
|
||||||
$(dotdoc2texi) > $@ || { rm $@; false; }
|
$(dotdoc2texi) > $@ || { rm $@; false; }
|
||||||
|
|
||||||
if HAVE_MAKEINFO
|
if HAVE_MAKEINFO
|
||||||
|
|
||||||
guile-procedures.txt: guile.texi
|
guile-procedures.txt: guile-procedures.texi
|
||||||
rm -f $@
|
rm -f $@
|
||||||
makeinfo --force -o $@ $< || test -f $@
|
makeinfo --force -o $@ $< || test -f $@
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
guile-procedures.txt: guile.texi
|
guile-procedures.txt: guile-procedures.texi
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -281,6 +285,6 @@ MOSTLYCLEANFILES = \
|
||||||
cpp_err_symbols_here cpp_err_symbols_diff cpp_err_symbols_new \
|
cpp_err_symbols_here cpp_err_symbols_diff cpp_err_symbols_new \
|
||||||
cpp_sig_symbols_here cpp_sig_symbols_diff cpp_sig_symbols_new
|
cpp_sig_symbols_here cpp_sig_symbols_diff cpp_sig_symbols_new
|
||||||
|
|
||||||
CLEANFILES = libpath.h *.x *.doc guile-procedures.txt guile.texi
|
CLEANFILES = libpath.h *.x *.doc guile-procedures.txt guile-procedures.texi guile.texi
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = c-tokenize.c
|
MAINTAINERCLEANFILES = c-tokenize.c
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
|
|
||||||
SCM_DEFINE (scm_acons, "acons", 3, 0, 0,
|
SCM_DEFINE (scm_acons, "acons", 3, 0, 0,
|
||||||
(SCM key, SCM value, SCM alist),
|
(SCM key, SCM value, SCM alist),
|
||||||
"Adds a new key-value pair to @var{alist}. A new pair is\n"
|
"Add a new key-value pair to @var{alist}. A new pair is\n"
|
||||||
"created whose car is @var{key} and whose cdr is @var{value}, and the\n"
|
"created whose car is @var{key} and whose cdr is @var{value}, and the\n"
|
||||||
"pair is consed onto @var{alist}, and the new list is returned. This\n"
|
"pair is consed onto @var{alist}, and the new list is returned. This\n"
|
||||||
"function is @emph{not} destructive; @var{alist} is not modified.")
|
"function is @emph{not} destructive; @var{alist} is not modified.")
|
||||||
|
@ -133,14 +133,14 @@ SCM_DEFINE (scm_sloppy_assoc, "sloppy-assoc", 2, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_assq, "assq", 2, 0, 0,
|
SCM_DEFINE (scm_assq, "assq", 2, 0, 0,
|
||||||
(SCM key, SCM alist),
|
(SCM key, SCM alist),
|
||||||
"@deffnx primitive assv key alist\n"
|
"@deffnx {Scheme Procedure} assv key alist\n"
|
||||||
"@deffnx primitive assoc key alist\n"
|
"@deffnx {Scheme Procedure} assoc key alist\n"
|
||||||
"Fetches the entry in @var{alist} that is associated with @var{key}. To\n"
|
"Fetch the entry in @var{alist} that is associated with @var{key}. To\n"
|
||||||
"decide whether the argument @var{key} matches a particular entry in\n"
|
"decide whether the argument @var{key} matches a particular entry in\n"
|
||||||
"@var{alist}, @code{assq} compares keys with @code{eq?}, @code{assv}\n"
|
"@var{alist}, @code{assq} compares keys with @code{eq?}, @code{assv}\n"
|
||||||
"uses @code{eqv?} and @code{assoc} uses @code{equal?}. If @var{key}\n"
|
"uses @code{eqv?} and @code{assoc} uses @code{equal?}. If @var{key}\n"
|
||||||
"cannot be found in @var{alist} (according to whichever equality\n"
|
"cannot be found in @var{alist} (according to whichever equality\n"
|
||||||
"predicate is in use), then @code{#f} is returned. These functions\n"
|
"predicate is in use), then return @code{#f}. These functions\n"
|
||||||
"return the entire alist entry found (i.e. both the key and the value).")
|
"return the entire alist entry found (i.e. both the key and the value).")
|
||||||
#define FUNC_NAME s_scm_assq
|
#define FUNC_NAME s_scm_assq
|
||||||
{
|
{
|
||||||
|
@ -218,8 +218,8 @@ SCM_DEFINE (scm_assoc, "assoc", 2, 0, 0,
|
||||||
*/
|
*/
|
||||||
SCM_DEFINE (scm_assq_ref, "assq-ref", 2, 0, 0,
|
SCM_DEFINE (scm_assq_ref, "assq-ref", 2, 0, 0,
|
||||||
(SCM alist, SCM key),
|
(SCM alist, SCM key),
|
||||||
"@deffnx primitive assv-ref alist key\n"
|
"@deffnx {Scheme Procedure} assv-ref alist key\n"
|
||||||
"@deffnx primitive assoc-ref alist key\n"
|
"@deffnx {Scheme Procedure} assoc-ref alist key\n"
|
||||||
"Like @code{assq}, @code{assv} and @code{assoc}, except that only the\n"
|
"Like @code{assq}, @code{assv} and @code{assoc}, except that only the\n"
|
||||||
"value associated with @var{key} in @var{alist} is returned. These\n"
|
"value associated with @var{key} in @var{alist} is returned. These\n"
|
||||||
"functions are equivalent to\n\n"
|
"functions are equivalent to\n\n"
|
||||||
|
@ -282,8 +282,8 @@ SCM_DEFINE (scm_assoc_ref, "assoc-ref", 2, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_assq_set_x, "assq-set!", 3, 0, 0,
|
SCM_DEFINE (scm_assq_set_x, "assq-set!", 3, 0, 0,
|
||||||
(SCM alist, SCM key, SCM val),
|
(SCM alist, SCM key, SCM val),
|
||||||
"@deffnx primitive assv-set! alist key value\n"
|
"@deffnx {Scheme Procedure} assv-set! alist key value\n"
|
||||||
"@deffnx primitive assoc-set! alist key value\n"
|
"@deffnx {Scheme Procedure} assoc-set! alist key value\n"
|
||||||
"Reassociate @var{key} in @var{alist} with @var{value}: find any existing\n"
|
"Reassociate @var{key} in @var{alist} with @var{value}: find any existing\n"
|
||||||
"@var{alist} entry for @var{key} and associate it with the new\n"
|
"@var{alist} entry for @var{key} and associate it with the new\n"
|
||||||
"@var{value}. If @var{alist} does not contain an entry for @var{key},\n"
|
"@var{value}. If @var{alist} does not contain an entry for @var{key},\n"
|
||||||
|
@ -347,8 +347,8 @@ SCM_DEFINE (scm_assoc_set_x, "assoc-set!", 3, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_assq_remove_x, "assq-remove!", 2, 0, 0,
|
SCM_DEFINE (scm_assq_remove_x, "assq-remove!", 2, 0, 0,
|
||||||
(SCM alist, SCM key),
|
(SCM alist, SCM key),
|
||||||
"@deffnx primitive assv-remove! alist key\n"
|
"@deffnx {Scheme Procedure} assv-remove! alist key\n"
|
||||||
"@deffnx primitive assoc-remove! alist key\n"
|
"@deffnx {Scheme Procedure} assoc-remove! alist key\n"
|
||||||
"Delete the first entry in @var{alist} associated with @var{key}, and return\n"
|
"Delete the first entry in @var{alist} associated with @var{key}, and return\n"
|
||||||
"the resulting alist.")
|
"the resulting alist.")
|
||||||
#define FUNC_NAME s_scm_assq_remove_x
|
#define FUNC_NAME s_scm_assq_remove_x
|
||||||
|
|
|
@ -258,7 +258,7 @@ SCM_DEFINE (scm_display_error, "display-error", 6, 0, 0,
|
||||||
(SCM stack, SCM port, SCM subr, SCM message, SCM args, SCM rest),
|
(SCM stack, SCM port, SCM subr, SCM message, SCM args, SCM rest),
|
||||||
"Display an error message to the output port @var{port}.\n"
|
"Display an error message to the output port @var{port}.\n"
|
||||||
"@var{stack} is the saved stack for the error, @var{subr} is\n"
|
"@var{stack} is the saved stack for the error, @var{subr} is\n"
|
||||||
"the name of the procedure in which the error occured and\n"
|
"the name of the procedure in which the error occurred and\n"
|
||||||
"@var{message} is the actual error message, which may contain\n"
|
"@var{message} is the actual error message, which may contain\n"
|
||||||
"formatting instructions. These will format the arguments in\n"
|
"formatting instructions. These will format the arguments in\n"
|
||||||
"the list @var{args} accordingly. @var{rest} is currently\n"
|
"the list @var{args} accordingly. @var{rest} is currently\n"
|
||||||
|
|
|
@ -1712,7 +1712,7 @@ SCM_DEFINE (scm_eval_options_interface, "eval-options-interface", 0, 1, 0,
|
||||||
(SCM setting),
|
(SCM setting),
|
||||||
"Option interface for the evaluation options. Instead of using\n"
|
"Option interface for the evaluation options. Instead of using\n"
|
||||||
"this procedure directly, use the procedures @code{eval-enable},\n"
|
"this procedure directly, use the procedures @code{eval-enable},\n"
|
||||||
"@code{eval-disable}, @code{eval-set!} and @var{eval-options}.")
|
"@code{eval-disable}, @code{eval-set!} and @code{eval-options}.")
|
||||||
#define FUNC_NAME s_scm_eval_options_interface
|
#define FUNC_NAME s_scm_eval_options_interface
|
||||||
{
|
{
|
||||||
SCM ans;
|
SCM ans;
|
||||||
|
@ -4098,7 +4098,7 @@ SCM_DEFINE (scm_eval, "eval", 2, 0, 0,
|
||||||
(SCM exp, SCM module),
|
(SCM exp, SCM module),
|
||||||
"Evaluate @var{exp}, a list representing a Scheme expression,\n"
|
"Evaluate @var{exp}, a list representing a Scheme expression,\n"
|
||||||
"in the top-level environment specified by @var{module}.\n"
|
"in the top-level environment specified by @var{module}.\n"
|
||||||
"While @var{exp} is evaluated (using @var{primitive-eval}),\n"
|
"While @var{exp} is evaluated (using @code{primitive-eval}),\n"
|
||||||
"@var{module} is made the current module. The current module\n"
|
"@var{module} is made the current module. The current module\n"
|
||||||
"is reset to its previous value when @var{eval} returns.")
|
"is reset to its previous value when @var{eval} returns.")
|
||||||
#define FUNC_NAME s_scm_eval
|
#define FUNC_NAME s_scm_eval
|
||||||
|
|
|
@ -70,7 +70,7 @@ scm_add_feature (const char *str)
|
||||||
|
|
||||||
SCM_DEFINE (scm_program_arguments, "program-arguments", 0, 0, 0,
|
SCM_DEFINE (scm_program_arguments, "program-arguments", 0, 0, 0,
|
||||||
(),
|
(),
|
||||||
"@deffnx procedure command-line\n"
|
"@deffnx {Scheme Procedure} command-line\n"
|
||||||
"Return the list of command line arguments passed to Guile, as a list of\n"
|
"Return the list of command line arguments passed to Guile, as a list of\n"
|
||||||
"strings. The list includes the invoked program name, which is usually\n"
|
"strings. The list includes the invoked program name, which is usually\n"
|
||||||
"@code{\"guile\"}, but excludes switches and parameters for command line\n"
|
"@code{\"guile\"}, but excludes switches and parameters for command line\n"
|
||||||
|
|
|
@ -230,7 +230,7 @@ SCM_DEFINE (scm_chmod, "chmod", 2, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_umask, "umask", 0, 1, 0,
|
SCM_DEFINE (scm_umask, "umask", 0, 1, 0,
|
||||||
(SCM mode),
|
(SCM mode),
|
||||||
"If @var{mode} is omitted, retuns a decimal number representing the current\n"
|
"If @var{mode} is omitted, returns a decimal number representing the current\n"
|
||||||
"file creation mask. Otherwise the file creation mask is set to\n"
|
"file creation mask. Otherwise the file creation mask is set to\n"
|
||||||
"@var{mode} and the previous value is returned.\n\n"
|
"@var{mode} and the previous value is returned.\n\n"
|
||||||
"E.g., @code{(umask #o022)} sets the mask to octal 22, decimal 18.")
|
"E.g., @code{(umask #o022)} sets the mask to octal 22, decimal 18.")
|
||||||
|
@ -1024,7 +1024,7 @@ retrieve_select_type (SELECT_TYPE *set, SCM ports_ready, SCM list_or_vec)
|
||||||
SCM_DEFINE (scm_select, "select", 3, 2, 0,
|
SCM_DEFINE (scm_select, "select", 3, 2, 0,
|
||||||
(SCM reads, SCM writes, SCM excepts, SCM secs, SCM usecs),
|
(SCM reads, SCM writes, SCM excepts, SCM secs, SCM usecs),
|
||||||
"This procedure has a variety of uses: waiting for the ability\n"
|
"This procedure has a variety of uses: waiting for the ability\n"
|
||||||
"to provide input, accept output, or the existance of\n"
|
"to provide input, accept output, or the existence of\n"
|
||||||
"exceptional conditions on a collection of ports or file\n"
|
"exceptional conditions on a collection of ports or file\n"
|
||||||
"descriptors, or waiting for a timeout to occur.\n"
|
"descriptors, or waiting for a timeout to occur.\n"
|
||||||
"It also returns if interrupted by a signal.\n\n"
|
"It also returns if interrupted by a signal.\n\n"
|
||||||
|
@ -1423,7 +1423,7 @@ SCM_DEFINE (scm_basename, "basename", 1, 1, 0,
|
||||||
(SCM filename, SCM suffix),
|
(SCM filename, SCM suffix),
|
||||||
"Return the base name of the file name @var{filename}. The\n"
|
"Return the base name of the file name @var{filename}. The\n"
|
||||||
"base name is the file name without any directory components.\n"
|
"base name is the file name without any directory components.\n"
|
||||||
"If @var{suffix} is privided, and is equal to the end of\n"
|
"If @var{suffix} is provided, and is equal to the end of\n"
|
||||||
"@var{basename}, it is removed also.")
|
"@var{basename}, it is removed also.")
|
||||||
#define FUNC_NAME s_scm_basename
|
#define FUNC_NAME s_scm_basename
|
||||||
{
|
{
|
||||||
|
|
|
@ -897,7 +897,7 @@ SCM_DEFINE (scm_generic_function_methods, "generic-function-methods", 1, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_method_generic_function, "method-generic-function", 1, 0, 0,
|
SCM_DEFINE (scm_method_generic_function, "method-generic-function", 1, 0, 0,
|
||||||
(SCM obj),
|
(SCM obj),
|
||||||
"Return the generic function fot the method @var{obj}.")
|
"Return the generic function for the method @var{obj}.")
|
||||||
#define FUNC_NAME s_scm_method_generic_function
|
#define FUNC_NAME s_scm_method_generic_function
|
||||||
{
|
{
|
||||||
SCM_VALIDATE_METHOD (1, obj);
|
SCM_VALIDATE_METHOD (1, obj);
|
||||||
|
|
|
@ -451,7 +451,7 @@ SCM_REGISTER_PROC(s_list_cdr_ref, "list-cdr-ref", 2, 0, 0, scm_list_tail);
|
||||||
|
|
||||||
SCM_DEFINE (scm_list_tail, "list-tail", 2, 0, 0,
|
SCM_DEFINE (scm_list_tail, "list-tail", 2, 0, 0,
|
||||||
(SCM lst, SCM k),
|
(SCM lst, SCM k),
|
||||||
"@deffnx primitive list-cdr-ref lst k\n"
|
"@deffnx {Scheme Procedure} list-cdr-ref lst k\n"
|
||||||
"Return the \"tail\" of @var{lst} beginning with its @var{k}th element.\n"
|
"Return the \"tail\" of @var{lst} beginning with its @var{k}th element.\n"
|
||||||
"The first element of the list is considered to be element 0.\n\n"
|
"The first element of the list is considered to be element 0.\n\n"
|
||||||
"@code{list-tail} and @code{list-cdr-ref} are identical. It may help to\n"
|
"@code{list-tail} and @code{list-cdr-ref} are identical. It may help to\n"
|
||||||
|
@ -690,8 +690,8 @@ SCM_DEFINE (scm_member, "member", 2, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_delq_x, "delq!", 2, 0, 0,
|
SCM_DEFINE (scm_delq_x, "delq!", 2, 0, 0,
|
||||||
(SCM item, SCM lst),
|
(SCM item, SCM lst),
|
||||||
"@deffnx primitive delv! item lst\n"
|
"@deffnx {Scheme Procedure} delv! item lst\n"
|
||||||
"@deffnx primitive delete! item lst\n"
|
"@deffnx {Scheme Procedure} delete! item lst\n"
|
||||||
"These procedures are destructive versions of @code{delq}, @code{delv}\n"
|
"These procedures are destructive versions of @code{delq}, @code{delv}\n"
|
||||||
"and @code{delete}: they modify the pointers in the existing @var{lst}\n"
|
"and @code{delete}: they modify the pointers in the existing @var{lst}\n"
|
||||||
"rather than creating a new list. Caveat evaluator: Like other\n"
|
"rather than creating a new list. Caveat evaluator: Like other\n"
|
||||||
|
|
|
@ -115,9 +115,7 @@ SCM_DEFINE (scm_makmacro, "procedure->macro", 1, 0, 0,
|
||||||
"Return a @dfn{macro} which, when a symbol defined to this value\n"
|
"Return a @dfn{macro} which, when a symbol defined to this value\n"
|
||||||
"appears as the first symbol in an expression, evaluates the\n"
|
"appears as the first symbol in an expression, evaluates the\n"
|
||||||
"result of applying @var{code} to the expression and the\n"
|
"result of applying @var{code} to the expression and the\n"
|
||||||
"environment. The value returned from @var{code} which has been\n"
|
"environment. For example:\n"
|
||||||
"passed to @code{procedure->memoizing-macro} replaces the form\n"
|
|
||||||
"passed to @var{code}. For example:\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"@lisp\n"
|
"@lisp\n"
|
||||||
"(define trace\n"
|
"(define trace\n"
|
||||||
|
@ -137,17 +135,12 @@ SCM_DEFINE (scm_makmmacro, "procedure->memoizing-macro", 1, 0, 0,
|
||||||
(SCM code),
|
(SCM code),
|
||||||
"Return a @dfn{macro} which, when a symbol defined to this value\n"
|
"Return a @dfn{macro} which, when a symbol defined to this value\n"
|
||||||
"appears as the first symbol in an expression, evaluates the\n"
|
"appears as the first symbol in an expression, evaluates the\n"
|
||||||
"result of applying @var{proc} to the expression and the\n"
|
"result of applying @var{code} to the expression and the\n"
|
||||||
"environment. The value returned from @var{proc} which has been\n"
|
"environment.\n\n"
|
||||||
"passed to @code{procedure->memoizing-macro} replaces the form\n"
|
"@code{procedure->memoizing-macro} is the same as\n"
|
||||||
"passed to @var{proc}. For example:\n"
|
"@code{procedure->macro}, except that the expression returned by\n"
|
||||||
"\n"
|
"@var{code} replaces the original macro expression in the memoized\n"
|
||||||
"@lisp\n"
|
"form of the containing code.")
|
||||||
"(define trace\n"
|
|
||||||
" (procedure->macro\n"
|
|
||||||
" (lambda (x env) `(set! ,(cadr x) (tracef ,(cadr x) ',(cadr x))))))\n\n"
|
|
||||||
"(trace @i{foo}) @equiv{} (set! @i{foo} (tracef @i{foo} '@i{foo})).\n"
|
|
||||||
"@end lisp")
|
|
||||||
#define FUNC_NAME s_scm_makmmacro
|
#define FUNC_NAME s_scm_makmmacro
|
||||||
{
|
{
|
||||||
SCM_VALIDATE_PROC (1,code);
|
SCM_VALIDATE_PROC (1,code);
|
||||||
|
@ -175,7 +168,7 @@ SCM_DEFINE (scm_macro_type, "macro-type", 1, 0, 0,
|
||||||
(SCM m),
|
(SCM m),
|
||||||
"Return one of the symbols @code{syntax}, @code{macro} or\n"
|
"Return one of the symbols @code{syntax}, @code{macro} or\n"
|
||||||
"@code{macro!}, depending on whether @var{m} is a syntax\n"
|
"@code{macro!}, depending on whether @var{m} is a syntax\n"
|
||||||
"tranformer, a regular macro, or a memoizing macro,\n"
|
"transformer, a regular macro, or a memoizing macro,\n"
|
||||||
"respectively. If @var{m} is not a macro, @code{#f} is\n"
|
"respectively. If @var{m} is not a macro, @code{#f} is\n"
|
||||||
"returned.")
|
"returned.")
|
||||||
#define FUNC_NAME s_scm_macro_type
|
#define FUNC_NAME s_scm_macro_type
|
||||||
|
|
|
@ -136,8 +136,8 @@ static void scm_resolv_error (const char *subr, SCM bad_value)
|
||||||
|
|
||||||
SCM_DEFINE (scm_gethost, "gethost", 0, 1, 0,
|
SCM_DEFINE (scm_gethost, "gethost", 0, 1, 0,
|
||||||
(SCM host),
|
(SCM host),
|
||||||
"@deffnx procedure gethostbyname hostname\n"
|
"@deffnx {Scheme Procedure} gethostbyname hostname\n"
|
||||||
"@deffnx procedure gethostbyaddr address\n"
|
"@deffnx {Scheme Procedure} gethostbyaddr address\n"
|
||||||
"Look up a host by name or address, returning a host object. The\n"
|
"Look up a host by name or address, returning a host object. The\n"
|
||||||
"@code{gethost} procedure will accept either a string name or an integer\n"
|
"@code{gethost} procedure will accept either a string name or an integer\n"
|
||||||
"address; if given no arguments, it behaves like @code{gethostent} (see\n"
|
"address; if given no arguments, it behaves like @code{gethostent} (see\n"
|
||||||
|
@ -220,8 +220,8 @@ SCM_DEFINE (scm_gethost, "gethost", 0, 1, 0,
|
||||||
#if defined(HAVE_GETNETENT) && defined(HAVE_GETNETBYNAME) && defined(HAVE_GETNETBYADDR)
|
#if defined(HAVE_GETNETENT) && defined(HAVE_GETNETBYNAME) && defined(HAVE_GETNETBYADDR)
|
||||||
SCM_DEFINE (scm_getnet, "getnet", 0, 1, 0,
|
SCM_DEFINE (scm_getnet, "getnet", 0, 1, 0,
|
||||||
(SCM net),
|
(SCM net),
|
||||||
"@deffnx procedure getnetbyname net-name\n"
|
"@deffnx {Scheme Procedure} getnetbyname net-name\n"
|
||||||
"@deffnx procedure getnetbyaddr net-number\n"
|
"@deffnx {Scheme Procedure} getnetbyaddr net-number\n"
|
||||||
"Look up a network by name or net number in the network database. The\n"
|
"Look up a network by name or net number in the network database. The\n"
|
||||||
"@var{net-name} argument must be a string, and the @var{net-number}\n"
|
"@var{net-name} argument must be a string, and the @var{net-number}\n"
|
||||||
"argument must be an integer. @code{getnet} will accept either type of\n"
|
"argument must be an integer. @code{getnet} will accept either type of\n"
|
||||||
|
@ -271,8 +271,8 @@ SCM_DEFINE (scm_getnet, "getnet", 0, 1, 0,
|
||||||
#ifdef HAVE_GETPROTOENT
|
#ifdef HAVE_GETPROTOENT
|
||||||
SCM_DEFINE (scm_getproto, "getproto", 0, 1, 0,
|
SCM_DEFINE (scm_getproto, "getproto", 0, 1, 0,
|
||||||
(SCM protocol),
|
(SCM protocol),
|
||||||
"@deffnx procedure getprotobyname name\n"
|
"@deffnx {Scheme Procedure} getprotobyname name\n"
|
||||||
"@deffnx procedure getprotobynumber number\n"
|
"@deffnx {Scheme Procedure} getprotobynumber number\n"
|
||||||
"Look up a network protocol by name or by number. @code{getprotobyname}\n"
|
"Look up a network protocol by name or by number. @code{getprotobyname}\n"
|
||||||
"takes a string argument, and @code{getprotobynumber} takes an integer\n"
|
"takes a string argument, and @code{getprotobynumber} takes an integer\n"
|
||||||
"argument. @code{getproto} will accept either type, behaving like\n"
|
"argument. @code{getproto} will accept either type, behaving like\n"
|
||||||
|
@ -335,8 +335,8 @@ scm_return_entry (struct servent *entry)
|
||||||
#ifdef HAVE_GETSERVENT
|
#ifdef HAVE_GETSERVENT
|
||||||
SCM_DEFINE (scm_getserv, "getserv", 0, 2, 0,
|
SCM_DEFINE (scm_getserv, "getserv", 0, 2, 0,
|
||||||
(SCM name, SCM protocol),
|
(SCM name, SCM protocol),
|
||||||
"@deffnx procedure getservbyname name protocol\n"
|
"@deffnx {Scheme Procedure} getservbyname name protocol\n"
|
||||||
"@deffnx procedure getservbyport port protocol\n"
|
"@deffnx {Scheme Procedure} getservbyport port protocol\n"
|
||||||
"Look up a network service by name or by service number, and return a\n"
|
"Look up a network service by name or by service number, and return a\n"
|
||||||
"network service object. The @var{protocol} argument specifies the name\n"
|
"network service object. The @var{protocol} argument specifies the name\n"
|
||||||
"of the desired protocol; if the protocol found in the network service\n"
|
"of the desired protocol; if the protocol found in the network service\n"
|
||||||
|
|
|
@ -1336,7 +1336,7 @@ static const char scm_ilentab[] = {
|
||||||
|
|
||||||
SCM_DEFINE (scm_integer_length, "integer-length", 1, 0, 0,
|
SCM_DEFINE (scm_integer_length, "integer-length", 1, 0, 0,
|
||||||
(SCM n),
|
(SCM n),
|
||||||
"Return the number of bits neccessary to represent @var{n}.\n"
|
"Return the number of bits necessary to represent @var{n}.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"@lisp\n"
|
"@lisp\n"
|
||||||
"(integer-length #b10101010)\n"
|
"(integer-length #b10101010)\n"
|
||||||
|
@ -2841,7 +2841,7 @@ SCM_REGISTER_PROC (s_number_p, "number?", 1, 0, 0, scm_number_p);
|
||||||
SCM_DEFINE (scm_number_p, "complex?", 1, 0, 0,
|
SCM_DEFINE (scm_number_p, "complex?", 1, 0, 0,
|
||||||
(SCM x),
|
(SCM x),
|
||||||
"Return @code{#t} if @var{x} is a complex number, @code{#f}\n"
|
"Return @code{#t} if @var{x} is a complex number, @code{#f}\n"
|
||||||
"else. Note that the sets of real, rational and integer\n"
|
"otherwise. Note that the sets of real, rational and integer\n"
|
||||||
"values form subsets of the set of complex numbers, i. e. the\n"
|
"values form subsets of the set of complex numbers, i. e. the\n"
|
||||||
"predicate will also be fulfilled if @var{x} is a real,\n"
|
"predicate will also be fulfilled if @var{x} is a real,\n"
|
||||||
"rational or integer number.")
|
"rational or integer number.")
|
||||||
|
@ -2861,7 +2861,7 @@ SCM_REGISTER_PROC (s_real_p, "real?", 1, 0, 0, scm_real_p);
|
||||||
SCM_DEFINE (scm_real_p, "rational?", 1, 0, 0,
|
SCM_DEFINE (scm_real_p, "rational?", 1, 0, 0,
|
||||||
(SCM x),
|
(SCM x),
|
||||||
"Return @code{#t} if @var{x} is a rational number, @code{#f}\n"
|
"Return @code{#t} if @var{x} is a rational number, @code{#f}\n"
|
||||||
"else. Note that the set of integer values forms a subset of\n"
|
"otherwise. Note that the set of integer values forms a subset of\n"
|
||||||
"the set of rational numbers, i. e. the predicate will also be\n"
|
"the set of rational numbers, i. e. the predicate will also be\n"
|
||||||
"fulfilled if @var{x} is an integer number. Real numbers\n"
|
"fulfilled if @var{x} is an integer number. Real numbers\n"
|
||||||
"will also satisfy this predicate, because of their limited\n"
|
"will also satisfy this predicate, because of their limited\n"
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
|
|
||||||
SCM_DEFINE (scm_object_properties, "object-properties", 1, 0, 0,
|
SCM_DEFINE (scm_object_properties, "object-properties", 1, 0, 0,
|
||||||
(SCM obj),
|
(SCM obj),
|
||||||
"@deffnx primitive procedure-properties obj\n"
|
"@deffnx {Scheme Procedure} procedure-properties obj\n"
|
||||||
"Return @var{obj}'s property list.")
|
"Return @var{obj}'s property list.")
|
||||||
#define FUNC_NAME s_scm_object_properties
|
#define FUNC_NAME s_scm_object_properties
|
||||||
{
|
{
|
||||||
|
@ -67,7 +67,7 @@ SCM_DEFINE (scm_object_properties, "object-properties", 1, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_set_object_properties_x, "set-object-properties!", 2, 0, 0,
|
SCM_DEFINE (scm_set_object_properties_x, "set-object-properties!", 2, 0, 0,
|
||||||
(SCM obj, SCM alist),
|
(SCM obj, SCM alist),
|
||||||
"@deffnx primitive set-procedure-properties! obj alist\n"
|
"@deffnx {Scheme Procedure} set-procedure-properties! obj alist\n"
|
||||||
"Set @var{obj}'s property list to @var{alist}.")
|
"Set @var{obj}'s property list to @var{alist}.")
|
||||||
#define FUNC_NAME s_scm_set_object_properties_x
|
#define FUNC_NAME s_scm_set_object_properties_x
|
||||||
{
|
{
|
||||||
|
@ -79,7 +79,7 @@ SCM_DEFINE (scm_set_object_properties_x, "set-object-properties!", 2, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_object_property, "object-property", 2, 0, 0,
|
SCM_DEFINE (scm_object_property, "object-property", 2, 0, 0,
|
||||||
(SCM obj, SCM key),
|
(SCM obj, SCM key),
|
||||||
"@deffnx primitive procedure-property obj key\n"
|
"@deffnx {Scheme Procedure} procedure-property obj key\n"
|
||||||
"Return the property of @var{obj} with name @var{key}.")
|
"Return the property of @var{obj} with name @var{key}.")
|
||||||
#define FUNC_NAME s_scm_object_property
|
#define FUNC_NAME s_scm_object_property
|
||||||
{
|
{
|
||||||
|
@ -91,7 +91,7 @@ SCM_DEFINE (scm_object_property, "object-property", 2, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_set_object_property_x, "set-object-property!", 3, 0, 0,
|
SCM_DEFINE (scm_set_object_property_x, "set-object-property!", 3, 0, 0,
|
||||||
(SCM obj, SCM key, SCM value),
|
(SCM obj, SCM key, SCM value),
|
||||||
"@deffnx primitive set-procedure-property! obj key value\n"
|
"@deffnx {Scheme Procedure} set-procedure-property! obj key value\n"
|
||||||
"In @var{obj}'s property list, set the property named @var{key}\n"
|
"In @var{obj}'s property list, set the property named @var{key}\n"
|
||||||
"to @var{value}.")
|
"to @var{value}.")
|
||||||
#define FUNC_NAME s_scm_set_object_property_x
|
#define FUNC_NAME s_scm_set_object_property_x
|
||||||
|
|
|
@ -391,8 +391,8 @@ SCM_DEFINE (scm_current_load_port, "current-load-port", 0, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_set_current_input_port, "set-current-input-port", 1, 0, 0,
|
SCM_DEFINE (scm_set_current_input_port, "set-current-input-port", 1, 0, 0,
|
||||||
(SCM port),
|
(SCM port),
|
||||||
"@deffnx primitive set-current-output-port port\n"
|
"@deffnx {Scheme Procedure} set-current-output-port port\n"
|
||||||
"@deffnx primitive set-current-error-port port\n"
|
"@deffnx {Scheme Procedure} set-current-error-port port\n"
|
||||||
"Change the ports returned by @code{current-input-port},\n"
|
"Change the ports returned by @code{current-input-port},\n"
|
||||||
"@code{current-output-port} and @code{current-error-port}, respectively,\n"
|
"@code{current-output-port} and @code{current-error-port}, respectively,\n"
|
||||||
"so that they use the supplied @var{port} for input or output.")
|
"so that they use the supplied @var{port} for input or output.")
|
||||||
|
@ -762,7 +762,7 @@ SCM_DEFINE (scm_close_all_ports_except, "close-all-ports-except", 0, 0, 1,
|
||||||
"except for those supplied as arguments. This procedure\n"
|
"except for those supplied as arguments. This procedure\n"
|
||||||
"was intended to be used before an exec call to close file descriptors\n"
|
"was intended to be used before an exec call to close file descriptors\n"
|
||||||
"which are not needed in the new process. However it has the\n"
|
"which are not needed in the new process. However it has the\n"
|
||||||
"undesirable side-effect of flushing buffes, so it's deprecated.\n"
|
"undesirable side effect of flushing buffers, so it's deprecated.\n"
|
||||||
"Use port-for-each instead.")
|
"Use port-for-each instead.")
|
||||||
#define FUNC_NAME s_scm_close_all_ports_except
|
#define FUNC_NAME s_scm_close_all_ports_except
|
||||||
{
|
{
|
||||||
|
@ -1438,7 +1438,7 @@ SCM_DEFINE (scm_set_port_line_x, "set-port-line!", 2, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_port_column, "port-column", 1, 0, 0,
|
SCM_DEFINE (scm_port_column, "port-column", 1, 0, 0,
|
||||||
(SCM port),
|
(SCM port),
|
||||||
"@deffnx primitive port-line port\n"
|
"@deffnx {Scheme Procedure} port-line port\n"
|
||||||
"Return the current column number or line number of @var{port},\n"
|
"Return the current column number or line number of @var{port},\n"
|
||||||
"using the current input port if none is specified. If the number is\n"
|
"using the current input port if none is specified. If the number is\n"
|
||||||
"unknown, the result is #f. Otherwise, the result is a 0-origin integer\n"
|
"unknown, the result is #f. Otherwise, the result is a 0-origin integer\n"
|
||||||
|
@ -1457,7 +1457,7 @@ SCM_DEFINE (scm_port_column, "port-column", 1, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_set_port_column_x, "set-port-column!", 2, 0, 0,
|
SCM_DEFINE (scm_set_port_column_x, "set-port-column!", 2, 0, 0,
|
||||||
(SCM port, SCM column),
|
(SCM port, SCM column),
|
||||||
"@deffnx primitive set-port-line! port line\n"
|
"@deffnx {Scheme Procedure} set-port-line! port line\n"
|
||||||
"Set the current column or line number of @var{port}, using the\n"
|
"Set the current column or line number of @var{port}, using the\n"
|
||||||
"current input port if none is specified.")
|
"current input port if none is specified.")
|
||||||
#define FUNC_NAME s_scm_set_port_column_x
|
#define FUNC_NAME s_scm_set_port_column_x
|
||||||
|
@ -1580,7 +1580,7 @@ scm_void_port (char *mode_str)
|
||||||
SCM_DEFINE (scm_sys_make_void_port, "%make-void-port", 1, 0, 0,
|
SCM_DEFINE (scm_sys_make_void_port, "%make-void-port", 1, 0, 0,
|
||||||
(SCM mode),
|
(SCM mode),
|
||||||
"Create and return a new void port. A void port acts like\n"
|
"Create and return a new void port. A void port acts like\n"
|
||||||
"/dev/null. The @var{mode} argument\n"
|
"@file{/dev/null}. The @var{mode} argument\n"
|
||||||
"specifies the input/output modes for this port: see the\n"
|
"specifies the input/output modes for this port: see the\n"
|
||||||
"documentation for @code{open-file} in @ref{File Ports}.")
|
"documentation for @code{open-file} in @ref{File Ports}.")
|
||||||
#define FUNC_NAME s_scm_sys_make_void_port
|
#define FUNC_NAME s_scm_sys_make_void_port
|
||||||
|
|
|
@ -235,7 +235,7 @@ SCM_DEFINE (scm_pipe, "pipe", 0, 0, 0,
|
||||||
SCM_DEFINE (scm_getgroups, "getgroups", 0, 0, 0,
|
SCM_DEFINE (scm_getgroups, "getgroups", 0, 0, 0,
|
||||||
(),
|
(),
|
||||||
"Return a vector of integers representing the current\n"
|
"Return a vector of integers representing the current\n"
|
||||||
"supplimentary group IDs.")
|
"supplementary group IDs.")
|
||||||
#define FUNC_NAME s_scm_getgroups
|
#define FUNC_NAME s_scm_getgroups
|
||||||
{
|
{
|
||||||
SCM ans;
|
SCM ans;
|
||||||
|
@ -884,7 +884,7 @@ SCM_DEFINE (scm_execl, "execl", 1, 0, 1,
|
||||||
(SCM filename, SCM args),
|
(SCM filename, SCM args),
|
||||||
"Executes the file named by @var{path} as a new process image.\n"
|
"Executes the file named by @var{path} as a new process image.\n"
|
||||||
"The remaining arguments are supplied to the process; from a C program\n"
|
"The remaining arguments are supplied to the process; from a C program\n"
|
||||||
"they are accessable as the @code{argv} argument to @code{main}.\n"
|
"they are accessible as the @code{argv} argument to @code{main}.\n"
|
||||||
"Conventionally the first @var{arg} is the same as @var{path}.\n"
|
"Conventionally the first @var{arg} is the same as @var{path}.\n"
|
||||||
"All arguments must be strings. \n\n"
|
"All arguments must be strings. \n\n"
|
||||||
"If @var{arg} is missing, @var{path} is executed with a null\n"
|
"If @var{arg} is missing, @var{path} is executed with a null\n"
|
||||||
|
@ -1231,7 +1231,7 @@ SCM_DEFINE (scm_setlocale, "setlocale", 1, 1, 0,
|
||||||
"Otherwise the specified locale category is set to the string\n"
|
"Otherwise the specified locale category is set to the string\n"
|
||||||
"@var{locale} and the new value is returned as a\n"
|
"@var{locale} and the new value is returned as a\n"
|
||||||
"system-dependent string. If @var{locale} is an empty string,\n"
|
"system-dependent string. If @var{locale} is an empty string,\n"
|
||||||
"the locale will be set using envirionment variables.")
|
"the locale will be set using environment variables.")
|
||||||
#define FUNC_NAME s_scm_setlocale
|
#define FUNC_NAME s_scm_setlocale
|
||||||
{
|
{
|
||||||
char *clocale;
|
char *clocale;
|
||||||
|
@ -1544,7 +1544,7 @@ SCM_DEFINE (scm_flock, "flock", 2, 0, 0,
|
||||||
"it to one of the other operations.\n"
|
"it to one of the other operations.\n"
|
||||||
"@end table\n"
|
"@end table\n"
|
||||||
"The return value is not specified. @var{file} may be an open\n"
|
"The return value is not specified. @var{file} may be an open\n"
|
||||||
"file descriptor or an open file descriptior port.")
|
"file descriptor or an open file descriptor port.")
|
||||||
#define FUNC_NAME s_scm_flock
|
#define FUNC_NAME s_scm_flock
|
||||||
{
|
{
|
||||||
int coperation, fdes;
|
int coperation, fdes;
|
||||||
|
|
|
@ -458,7 +458,7 @@ scm_ramapc (int (*cproc)(), SCM data, SCM ra0, SCM lra, const char *what)
|
||||||
|
|
||||||
SCM_DEFINE (scm_array_fill_x, "array-fill!", 2, 0, 0,
|
SCM_DEFINE (scm_array_fill_x, "array-fill!", 2, 0, 0,
|
||||||
(SCM ra, SCM fill),
|
(SCM ra, SCM fill),
|
||||||
"Stores @var{fill} in every element of @var{array}. The value returned\n"
|
"Store @var{fill} in every element of @var{array}. The value returned\n"
|
||||||
"is unspecified.")
|
"is unspecified.")
|
||||||
#define FUNC_NAME s_scm_array_fill_x
|
#define FUNC_NAME s_scm_array_fill_x
|
||||||
{
|
{
|
||||||
|
@ -829,8 +829,8 @@ SCM_REGISTER_PROC(s_array_copy_in_order_x, "array-copy-in-order!", 2, 0, 0, scm_
|
||||||
|
|
||||||
SCM_DEFINE (scm_array_copy_x, "array-copy!", 2, 0, 0,
|
SCM_DEFINE (scm_array_copy_x, "array-copy!", 2, 0, 0,
|
||||||
(SCM src, SCM dst),
|
(SCM src, SCM dst),
|
||||||
"@deffnx primitive array-copy-in-order! src dst\n"
|
"@deffnx {Scheme Procedure} array-copy-in-order! src dst\n"
|
||||||
"Copies every element from vector or array @var{source} to the\n"
|
"Copy every element from vector or array @var{source} to the\n"
|
||||||
"corresponding element of @var{destination}. @var{destination} must have\n"
|
"corresponding element of @var{destination}. @var{destination} must have\n"
|
||||||
"the same rank as @var{source}, and be at least as large in each\n"
|
"the same rank as @var{source}, and be at least as large in each\n"
|
||||||
"dimension. The order is unspecified.")
|
"dimension. The order is unspecified.")
|
||||||
|
@ -1512,7 +1512,7 @@ SCM_REGISTER_PROC(s_array_map_in_order_x, "array-map-in-order!", 2, 0, 1, scm_ar
|
||||||
|
|
||||||
SCM_DEFINE (scm_array_map_x, "array-map!", 2, 0, 1,
|
SCM_DEFINE (scm_array_map_x, "array-map!", 2, 0, 1,
|
||||||
(SCM ra0, SCM proc, SCM lra),
|
(SCM ra0, SCM proc, SCM lra),
|
||||||
"@deffnx primitive array-map-in-order! ra0 proc . lra\n"
|
"@deffnx {Scheme Procedure} array-map-in-order! ra0 proc . lra\n"
|
||||||
"@var{array1}, @dots{} must have the same number of dimensions as\n"
|
"@var{array1}, @dots{} must have the same number of dimensions as\n"
|
||||||
"@var{array0} and have a range for each index which includes the range\n"
|
"@var{array0} and have a range for each index which includes the range\n"
|
||||||
"for the corresponding index in @var{array0}. @var{proc} is applied to\n"
|
"for the corresponding index in @var{array0}. @var{proc} is applied to\n"
|
||||||
|
@ -1664,7 +1664,7 @@ rafe (SCM ra0,SCM proc,SCM ras)
|
||||||
|
|
||||||
SCM_DEFINE (scm_array_for_each, "array-for-each", 2, 0, 1,
|
SCM_DEFINE (scm_array_for_each, "array-for-each", 2, 0, 1,
|
||||||
(SCM proc, SCM ra0, SCM lra),
|
(SCM proc, SCM ra0, SCM lra),
|
||||||
"@var{proc} is applied to each tuple of elements of @var{array0} @dots{}\n"
|
"Apply @var{proc} to each tuple of elements of @var{array0} @dots{}\n"
|
||||||
"in row-major order. The value returned is unspecified.")
|
"in row-major order. The value returned is unspecified.")
|
||||||
#define FUNC_NAME s_scm_array_for_each
|
#define FUNC_NAME s_scm_array_for_each
|
||||||
{
|
{
|
||||||
|
@ -1677,7 +1677,7 @@ SCM_DEFINE (scm_array_for_each, "array-for-each", 2, 0, 1,
|
||||||
|
|
||||||
SCM_DEFINE (scm_array_index_map_x, "array-index-map!", 2, 0, 0,
|
SCM_DEFINE (scm_array_index_map_x, "array-index-map!", 2, 0, 0,
|
||||||
(SCM ra, SCM proc),
|
(SCM ra, SCM proc),
|
||||||
"applies @var{proc} to the indices of each element of @var{array} in\n"
|
"Apply @var{proc} to the indices of each element of @var{array} in\n"
|
||||||
"turn, storing the result in the corresponding element. The value\n"
|
"turn, storing the result in the corresponding element. The value\n"
|
||||||
"returned and the order of application are unspecified.\n\n"
|
"returned and the order of application are unspecified.\n\n"
|
||||||
"One can implement @var{array-indexes} as\n"
|
"One can implement @var{array-indexes} as\n"
|
||||||
|
|
|
@ -79,7 +79,7 @@ SCM_DEFINE (scm_read_options, "read-options-interface", 0, 1, 0,
|
||||||
(SCM setting),
|
(SCM setting),
|
||||||
"Option interface for the read options. Instead of using\n"
|
"Option interface for the read options. Instead of using\n"
|
||||||
"this procedure directly, use the procedures @code{read-enable},\n"
|
"this procedure directly, use the procedures @code{read-enable},\n"
|
||||||
"@code{read-disable}, @code{read-set!} and @var{read-options}.")
|
"@code{read-disable}, @code{read-set!} and @code{read-options}.")
|
||||||
#define FUNC_NAME s_scm_read_options
|
#define FUNC_NAME s_scm_read_options
|
||||||
{
|
{
|
||||||
SCM ans = scm_options (setting,
|
SCM ans = scm_options (setting,
|
||||||
|
|
|
@ -77,13 +77,14 @@
|
||||||
#ifdef SCM_MAGIC_SNARF_INITS
|
#ifdef SCM_MAGIC_SNARF_INITS
|
||||||
# define SCM_SNARF_HERE(X)
|
# define SCM_SNARF_HERE(X)
|
||||||
# define SCM_SNARF_INIT(X) ^^ X
|
# define SCM_SNARF_INIT(X) ^^ X
|
||||||
# define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
|
# define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
|
||||||
#else
|
#else
|
||||||
# ifdef SCM_MAGIC_SNARF_DOCS
|
# ifdef SCM_MAGIC_SNARF_DOCS
|
||||||
# define SCM_SNARF_HERE(X)
|
# define SCM_SNARF_HERE(X)
|
||||||
# define SCM_SNARF_INIT(X)
|
# define SCM_SNARF_INIT(X)
|
||||||
# define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
|
# define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
|
||||||
^^ { \
|
^^ { \
|
||||||
|
cname CNAME ^^ \
|
||||||
fname FNAME ^^ \
|
fname FNAME ^^ \
|
||||||
type TYPE ^^ \
|
type TYPE ^^ \
|
||||||
location __FILE__ __LINE__ ^^ \
|
location __FILE__ __LINE__ ^^ \
|
||||||
|
@ -93,7 +94,7 @@ DOCSTRING ^^ }
|
||||||
# else
|
# else
|
||||||
# define SCM_SNARF_HERE(X) X
|
# define SCM_SNARF_HERE(X) X
|
||||||
# define SCM_SNARF_INIT(X)
|
# define SCM_SNARF_INIT(X)
|
||||||
# define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
|
# define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -106,7 +107,7 @@ SCM_SNARF_INIT(\
|
||||||
scm_c_define_gsubr (s_ ## FNAME, REQ, OPT, VAR, \
|
scm_c_define_gsubr (s_ ## FNAME, REQ, OPT, VAR, \
|
||||||
(SCM_FUNC_CAST_ARBITRARY_ARGS) FNAME); \
|
(SCM_FUNC_CAST_ARBITRARY_ARGS) FNAME); \
|
||||||
)\
|
)\
|
||||||
SCM_SNARF_DOCS(primitive, PRIMNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
|
SCM_SNARF_DOCS(primitive, FNAME, PRIMNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
|
||||||
|
|
||||||
#define SCM_DEFINE1(FNAME, PRIMNAME, TYPE, ARGLIST, DOCSTRING) \
|
#define SCM_DEFINE1(FNAME, PRIMNAME, TYPE, ARGLIST, DOCSTRING) \
|
||||||
SCM_SNARF_HERE(\
|
SCM_SNARF_HERE(\
|
||||||
|
@ -114,7 +115,7 @@ static const char s_ ## FNAME [] = PRIMNAME; \
|
||||||
SCM FNAME ARGLIST\
|
SCM FNAME ARGLIST\
|
||||||
)\
|
)\
|
||||||
SCM_SNARF_INIT(scm_c_define_subr (s_ ## FNAME, TYPE, FNAME); ) \
|
SCM_SNARF_INIT(scm_c_define_subr (s_ ## FNAME, TYPE, FNAME); ) \
|
||||||
SCM_SNARF_DOCS(1, PRIMNAME, ARGLIST, 2, 0, 0, DOCSTRING)
|
SCM_SNARF_DOCS(1, FNAME, PRIMNAME, ARGLIST, 2, 0, 0, DOCSTRING)
|
||||||
|
|
||||||
#define SCM_PROC(RANAME, STR, REQ, OPT, VAR, CFN) \
|
#define SCM_PROC(RANAME, STR, REQ, OPT, VAR, CFN) \
|
||||||
SCM_SNARF_HERE(static const char RANAME[]=STR) \
|
SCM_SNARF_HERE(static const char RANAME[]=STR) \
|
||||||
|
@ -125,7 +126,7 @@ SCM_SNARF_INIT(scm_c_define_gsubr (RANAME, REQ, OPT, VAR, \
|
||||||
SCM_SNARF_HERE(static const char RANAME[]=STR) \
|
SCM_SNARF_HERE(static const char RANAME[]=STR) \
|
||||||
SCM_SNARF_INIT(scm_c_define_gsubr (RANAME, REQ, OPT, VAR, \
|
SCM_SNARF_INIT(scm_c_define_gsubr (RANAME, REQ, OPT, VAR, \
|
||||||
(SCM_FUNC_CAST_ARBITRARY_ARGS) CFN);) \
|
(SCM_FUNC_CAST_ARBITRARY_ARGS) CFN);) \
|
||||||
SCM_SNARF_DOCS(register, STR, (), REQ, OPT, VAR, \
|
SCM_SNARF_DOCS(register, CFN, STR, (), REQ, OPT, VAR, \
|
||||||
"implemented by the C function \"" #CFN "\"")
|
"implemented by the C function \"" #CFN "\"")
|
||||||
|
|
||||||
#define SCM_GPROC(RANAME, STR, REQ, OPT, VAR, CFN, GF) \
|
#define SCM_GPROC(RANAME, STR, REQ, OPT, VAR, CFN, GF) \
|
||||||
|
|
|
@ -649,7 +649,7 @@ SCM_DEFINE (scm_setsockopt, "setsockopt", 4, 0, 0,
|
||||||
SCM_DEFINE (scm_shutdown, "shutdown", 2, 0, 0,
|
SCM_DEFINE (scm_shutdown, "shutdown", 2, 0, 0,
|
||||||
(SCM sock, SCM how),
|
(SCM sock, SCM how),
|
||||||
"Sockets can be closed simply by using @code{close-port}. The\n"
|
"Sockets can be closed simply by using @code{close-port}. The\n"
|
||||||
"@code{shutdown} procedure allows reception or tranmission on a\n"
|
"@code{shutdown} procedure allows reception or transmission on a\n"
|
||||||
"connection to be shut down individually, according to the parameter\n"
|
"connection to be shut down individually, according to the parameter\n"
|
||||||
"@var{how}:\n\n"
|
"@var{how}:\n\n"
|
||||||
"@table @asis\n"
|
"@table @asis\n"
|
||||||
|
|
|
@ -516,7 +516,7 @@ SCM_DEFINE (scm_sorted_p, "sorted?", 2, 0, 0,
|
||||||
Note: this does _not_ accept vectors. */
|
Note: this does _not_ accept vectors. */
|
||||||
SCM_DEFINE (scm_merge, "merge", 3, 0, 0,
|
SCM_DEFINE (scm_merge, "merge", 3, 0, 0,
|
||||||
(SCM alist, SCM blist, SCM less),
|
(SCM alist, SCM blist, SCM less),
|
||||||
"Takes two lists @var{alist} and @var{blist} such that\n"
|
"Take two lists @var{alist} and @var{blist} such that\n"
|
||||||
"@code{(sorted? alist less?)} and @code{(sorted? blist less?)} and\n"
|
"@code{(sorted? alist less?)} and @code{(sorted? blist less?)} and\n"
|
||||||
"returns a new list in which the elements of @var{alist} and\n"
|
"returns a new list in which the elements of @var{alist} and\n"
|
||||||
"@var{blist} have been stably interleaved so that\n"
|
"@var{blist} have been stably interleaved so that\n"
|
||||||
|
|
|
@ -58,8 +58,7 @@
|
||||||
|
|
||||||
SCM_DEFINE (scm_string_p, "string?", 1, 0, 0,
|
SCM_DEFINE (scm_string_p, "string?", 1, 0, 0,
|
||||||
(SCM obj),
|
(SCM obj),
|
||||||
"Return @code{#t} iff @var{obj} is a string, else returns\n"
|
"Return @code{#t} if @var{obj} is a string, else @code{#f}.")
|
||||||
"@code{#f}.")
|
|
||||||
#define FUNC_NAME s_scm_string_p
|
#define FUNC_NAME s_scm_string_p
|
||||||
{
|
{
|
||||||
return SCM_BOOL (SCM_STRINGP (obj));
|
return SCM_BOOL (SCM_STRINGP (obj));
|
||||||
|
@ -88,7 +87,7 @@ SCM_REGISTER_PROC (s_scm_list_to_string, "list->string", 1, 0, 0, scm_string);
|
||||||
|
|
||||||
SCM_DEFINE (scm_string, "string", 0, 0, 1,
|
SCM_DEFINE (scm_string, "string", 0, 0, 1,
|
||||||
(SCM chrs),
|
(SCM chrs),
|
||||||
"@deffnx primitive list->string chrs\n"
|
"@deffnx {Scheme Procedure} list->string chrs\n"
|
||||||
"Return a newly allocated string composed of the arguments,\n"
|
"Return a newly allocated string composed of the arguments,\n"
|
||||||
"@var{chrs}.")
|
"@var{chrs}.")
|
||||||
#define FUNC_NAME s_scm_string
|
#define FUNC_NAME s_scm_string
|
||||||
|
|
|
@ -533,15 +533,15 @@ SCM_DEFINE (scm_string_split, "string-split", 2, 0, 0,
|
||||||
"result list.\n"
|
"result list.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"@lisp\n"
|
"@lisp\n"
|
||||||
"(string-split \"root:x:0:0:root:/root:/bin/bash\" #\:)\n"
|
"(string-split \"root:x:0:0:root:/root:/bin/bash\" #\\:)\n"
|
||||||
"@result{}\n"
|
"@result{}\n"
|
||||||
"(\"root\" \"x\" \"0\" \"0\" \"root\" \"/root\" \"/bin/bash\")\n"
|
"(\"root\" \"x\" \"0\" \"0\" \"root\" \"/root\" \"/bin/bash\")\n"
|
||||||
"\n"
|
"\n"
|
||||||
"(string-split \"::\" #\:)\n"
|
"(string-split \"::\" #\\:)\n"
|
||||||
"@result{}\n"
|
"@result{}\n"
|
||||||
"(\"\" \"\" \"\")\n"
|
"(\"\" \"\" \"\")\n"
|
||||||
"\n"
|
"\n"
|
||||||
"(string-split \"\" #\:)\n"
|
"(string-split \"\" #\\:)\n"
|
||||||
"@result{}\n"
|
"@result{}\n"
|
||||||
"(\"\")\n"
|
"(\"\")\n"
|
||||||
"@end lisp")
|
"@end lisp")
|
||||||
|
@ -579,7 +579,7 @@ SCM_DEFINE (scm_string_ci_to_symbol, "string-ci->symbol", 1, 0, 0,
|
||||||
(SCM str),
|
(SCM str),
|
||||||
"Return the symbol whose name is @var{str}. @var{str} is\n"
|
"Return the symbol whose name is @var{str}. @var{str} is\n"
|
||||||
"converted to lowercase before the conversion is done, if Guile\n"
|
"converted to lowercase before the conversion is done, if Guile\n"
|
||||||
"is currently reading symbols case--insensitively.")
|
"is currently reading symbols case-insensitively.")
|
||||||
#define FUNC_NAME s_scm_string_ci_to_symbol
|
#define FUNC_NAME s_scm_string_ci_to_symbol
|
||||||
{
|
{
|
||||||
return scm_string_to_symbol (SCM_CASE_INSENSITIVE_P
|
return scm_string_to_symbol (SCM_CASE_INSENSITIVE_P
|
||||||
|
|
|
@ -562,7 +562,7 @@ SCM_DEFINE (scm_make_vtable_vtable, "make-vtable-vtable", 2, 0, 1,
|
||||||
|
|
||||||
SCM_DEFINE (scm_struct_ref, "struct-ref", 2, 0, 0,
|
SCM_DEFINE (scm_struct_ref, "struct-ref", 2, 0, 0,
|
||||||
(SCM handle, SCM pos),
|
(SCM handle, SCM pos),
|
||||||
"@deffnx primitive struct-set! struct n value\n"
|
"@deffnx {Scheme Procedure} struct-set! struct n value\n"
|
||||||
"Access (or modify) the @var{n}th field of @var{struct}.\n\n"
|
"Access (or modify) the @var{n}th field of @var{struct}.\n\n"
|
||||||
"If the field is of type 'p', then it can be set to an arbitrary value.\n\n"
|
"If the field is of type 'p', then it can be set to an arbitrary value.\n\n"
|
||||||
"If the field is of type 'u', then it can only be set to a non-negative\n"
|
"If the field is of type 'u', then it can only be set to a non-negative\n"
|
||||||
|
|
|
@ -582,7 +582,7 @@ scm_shap2ra (SCM args, const char *what)
|
||||||
|
|
||||||
SCM_DEFINE (scm_dimensions_to_uniform_array, "dimensions->uniform-array", 2, 1, 0,
|
SCM_DEFINE (scm_dimensions_to_uniform_array, "dimensions->uniform-array", 2, 1, 0,
|
||||||
(SCM dims, SCM prot, SCM fill),
|
(SCM dims, SCM prot, SCM fill),
|
||||||
"@deffnx primitive make-uniform-vector length prototype [fill]\n"
|
"@deffnx {Scheme Procedure} make-uniform-vector length prototype [fill]\n"
|
||||||
"Create and return a uniform array or vector of type\n"
|
"Create and return a uniform array or vector of type\n"
|
||||||
"corresponding to @var{prototype} with dimensions @var{dims} or\n"
|
"corresponding to @var{prototype} with dimensions @var{dims} or\n"
|
||||||
"length @var{length}. If @var{fill} is supplied, it's used to\n"
|
"length @var{length}. If @var{fill} is supplied, it's used to\n"
|
||||||
|
@ -1084,7 +1084,7 @@ SCM_REGISTER_PROC(s_array_ref, "array-ref", 1, 0, 1, scm_uniform_vector_ref);
|
||||||
|
|
||||||
SCM_DEFINE (scm_uniform_vector_ref, "uniform-vector-ref", 2, 0, 0,
|
SCM_DEFINE (scm_uniform_vector_ref, "uniform-vector-ref", 2, 0, 0,
|
||||||
(SCM v, SCM args),
|
(SCM v, SCM args),
|
||||||
"@deffnx primitive array-ref v . args\n"
|
"@deffnx {Scheme Procedure} array-ref v . args\n"
|
||||||
"Return the element at the @code{(index1, index2)} element in\n"
|
"Return the element at the @code{(index1, index2)} element in\n"
|
||||||
"@var{array}.")
|
"@var{array}.")
|
||||||
#define FUNC_NAME s_scm_uniform_vector_ref
|
#define FUNC_NAME s_scm_uniform_vector_ref
|
||||||
|
@ -1262,8 +1262,8 @@ SCM_REGISTER_PROC(s_uniform_array_set1_x, "uniform-array-set1!", 3, 0, 0, scm_ar
|
||||||
PROC is used (and it's called from C too). */
|
PROC is used (and it's called from C too). */
|
||||||
SCM_DEFINE (scm_array_set_x, "array-set!", 2, 0, 1,
|
SCM_DEFINE (scm_array_set_x, "array-set!", 2, 0, 1,
|
||||||
(SCM v, SCM obj, SCM args),
|
(SCM v, SCM obj, SCM args),
|
||||||
"@deffnx primitive uniform-array-set1! v obj args\n"
|
"@deffnx {Scheme Procedure} uniform-array-set1! v obj args\n"
|
||||||
"Sets the element at the @code{(index1, index2)} element in @var{array} to\n"
|
"Set the element at the @code{(index1, index2)} element in @var{array} to\n"
|
||||||
"@var{new-value}. The value returned by array-set! is unspecified.")
|
"@var{new-value}. The value returned by array-set! is unspecified.")
|
||||||
#define FUNC_NAME s_scm_array_set_x
|
#define FUNC_NAME s_scm_array_set_x
|
||||||
{
|
{
|
||||||
|
@ -1371,7 +1371,7 @@ SCM_DEFINE (scm_array_set_x, "array-set!", 2, 0, 1,
|
||||||
wouldn't have contiguous elements. */
|
wouldn't have contiguous elements. */
|
||||||
SCM_DEFINE (scm_array_contents, "array-contents", 1, 1, 0,
|
SCM_DEFINE (scm_array_contents, "array-contents", 1, 1, 0,
|
||||||
(SCM ra, SCM strict),
|
(SCM ra, SCM strict),
|
||||||
"@deffnx primitive array-contents array strict\n"
|
"@deffnx {Scheme Procedure} array-contents array strict\n"
|
||||||
"If @var{array} may be @dfn{unrolled} into a one dimensional shared array\n"
|
"If @var{array} may be @dfn{unrolled} into a one dimensional shared array\n"
|
||||||
"without changing their order (last subscript changing fastest), then\n"
|
"without changing their order (last subscript changing fastest), then\n"
|
||||||
"@code{array-contents} returns that shared array, otherwise it returns\n"
|
"@code{array-contents} returns that shared array, otherwise it returns\n"
|
||||||
|
@ -1482,8 +1482,8 @@ scm_ra2contig (SCM ra, int copy)
|
||||||
|
|
||||||
SCM_DEFINE (scm_uniform_array_read_x, "uniform-array-read!", 1, 3, 0,
|
SCM_DEFINE (scm_uniform_array_read_x, "uniform-array-read!", 1, 3, 0,
|
||||||
(SCM ra, SCM port_or_fd, SCM start, SCM end),
|
(SCM ra, SCM port_or_fd, SCM start, SCM end),
|
||||||
"@deffnx primitive uniform-vector-read! uve [port-or-fdes] [start] [end]\n"
|
"@deffnx {Scheme Procedure} uniform-vector-read! uve [port-or-fdes] [start] [end]\n"
|
||||||
"Attempts to read all elements of @var{ura}, in lexicographic order, as\n"
|
"Attempt to read all elements of @var{ura}, in lexicographic order, as\n"
|
||||||
"binary objects from @var{port-or-fdes}.\n"
|
"binary objects from @var{port-or-fdes}.\n"
|
||||||
"If an end of file is encountered during\n"
|
"If an end of file is encountered during\n"
|
||||||
"uniform-array-read! the objects up to that point only are put into @var{ura}\n"
|
"uniform-array-read! the objects up to that point only are put into @var{ura}\n"
|
||||||
|
@ -1650,7 +1650,7 @@ loop:
|
||||||
|
|
||||||
SCM_DEFINE (scm_uniform_array_write, "uniform-array-write", 1, 3, 0,
|
SCM_DEFINE (scm_uniform_array_write, "uniform-array-write", 1, 3, 0,
|
||||||
(SCM v, SCM port_or_fd, SCM start, SCM end),
|
(SCM v, SCM port_or_fd, SCM start, SCM end),
|
||||||
"@deffnx primitive uniform-vector-write uve [port-or-fdes] [start] [end]\n"
|
"@deffnx {Scheme Procedure} uniform-vector-write uve [port-or-fdes] [start] [end]\n"
|
||||||
"Writes all elements of @var{ura} as binary objects to\n"
|
"Writes all elements of @var{ura} as binary objects to\n"
|
||||||
"@var{port-or-fdes}.\n\n"
|
"@var{port-or-fdes}.\n\n"
|
||||||
"The optional arguments @var{start}\n"
|
"The optional arguments @var{start}\n"
|
||||||
|
@ -2011,7 +2011,7 @@ SCM_DEFINE (scm_bit_count_star, "bit-count*", 3, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_bit_invert_x, "bit-invert!", 1, 0, 0,
|
SCM_DEFINE (scm_bit_invert_x, "bit-invert!", 1, 0, 0,
|
||||||
(SCM v),
|
(SCM v),
|
||||||
"Modifies @var{bv} by replacing each element with its negation.")
|
"Modify @var{bv} by replacing each element with its negation.")
|
||||||
#define FUNC_NAME s_scm_bit_invert_x
|
#define FUNC_NAME s_scm_bit_invert_x
|
||||||
{
|
{
|
||||||
long int k;
|
long int k;
|
||||||
|
@ -2187,7 +2187,7 @@ static int l2ra(SCM lst, SCM ra, unsigned long base, unsigned long k);
|
||||||
|
|
||||||
SCM_DEFINE (scm_list_to_uniform_array, "list->uniform-array", 3, 0, 0,
|
SCM_DEFINE (scm_list_to_uniform_array, "list->uniform-array", 3, 0, 0,
|
||||||
(SCM ndim, SCM prot, SCM lst),
|
(SCM ndim, SCM prot, SCM lst),
|
||||||
"@deffnx procedure list->uniform-vector prot lst\n"
|
"@deffnx {Scheme Procedure} list->uniform-vector prot lst\n"
|
||||||
"Return a uniform array of the type indicated by prototype\n"
|
"Return a uniform array of the type indicated by prototype\n"
|
||||||
"@var{prot} with elements the same as those of @var{lst}.\n"
|
"@var{prot} with elements the same as those of @var{lst}.\n"
|
||||||
"Elements must be of the appropriate type, no coercions are\n"
|
"Elements must be of the appropriate type, no coercions are\n"
|
||||||
|
|
|
@ -167,7 +167,7 @@ SCM_REGISTER_PROC (s_list_to_vector, "list->vector", 1, 0, 0, scm_vector);
|
||||||
*/
|
*/
|
||||||
SCM_DEFINE (scm_vector, "vector", 0, 0, 1,
|
SCM_DEFINE (scm_vector, "vector", 0, 0, 1,
|
||||||
(SCM l),
|
(SCM l),
|
||||||
"@deffnx primitive list->vector l\n"
|
"@deffnx {Scheme Procedure} list->vector l\n"
|
||||||
"Return a newly allocated vector whose elements contain the\n"
|
"Return a newly allocated vector whose elements contain the\n"
|
||||||
"given arguments. Analogous to @code{list}.\n"
|
"given arguments. Analogous to @code{list}.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
|
@ -92,9 +92,9 @@ SCM_DEFINE (scm_micro_version, "micro-version", 0, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_version, "version", 0, 0, 0,
|
SCM_DEFINE (scm_version, "version", 0, 0, 0,
|
||||||
(),
|
(),
|
||||||
"@deffnx primitive major-version\n"
|
"@deffnx {Scheme Procedure} major-version\n"
|
||||||
"@deffnx primitive minor-version\n"
|
"@deffnx {Scheme Procedure} minor-version\n"
|
||||||
"@deffnx primitive micro-version\n"
|
"@deffnx {Scheme Procedure} micro-version\n"
|
||||||
"Return a string describing Guile's version number, or its major, minor\n"
|
"Return a string describing Guile's version number, or its major, minor\n"
|
||||||
"or micro version number, respectively.\n\n"
|
"or micro version number, respectively.\n\n"
|
||||||
"@lisp\n"
|
"@lisp\n"
|
||||||
|
|
|
@ -124,7 +124,7 @@ SCM_REGISTER_PROC(s_list_to_weak_vector, "list->weak-vector", 1, 0, 0, scm_weak_
|
||||||
|
|
||||||
SCM_DEFINE (scm_weak_vector, "weak-vector", 0, 0, 1,
|
SCM_DEFINE (scm_weak_vector, "weak-vector", 0, 0, 1,
|
||||||
(SCM l),
|
(SCM l),
|
||||||
"@deffnx primitive list->weak-vector l\n"
|
"@deffnx {Scheme Procedure} list->weak-vector l\n"
|
||||||
"Construct a weak vector from a list: @code{weak-vector} uses\n"
|
"Construct a weak vector from a list: @code{weak-vector} uses\n"
|
||||||
"the list of its arguments while @code{list->weak-vector} uses\n"
|
"the list of its arguments while @code{list->weak-vector} uses\n"
|
||||||
"its only argument @var{l} (a list) to construct a weak vector\n"
|
"its only argument @var{l} (a list) to construct a weak vector\n"
|
||||||
|
@ -167,8 +167,8 @@ SCM_DEFINE (scm_weak_vector_p, "weak-vector?", 1, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_make_weak_key_hash_table, "make-weak-key-hash-table", 1, 0, 0,
|
SCM_DEFINE (scm_make_weak_key_hash_table, "make-weak-key-hash-table", 1, 0, 0,
|
||||||
(SCM size),
|
(SCM size),
|
||||||
"@deffnx primitive make-weak-value-hash-table size\n"
|
"@deffnx {Scheme Procedure} make-weak-value-hash-table size\n"
|
||||||
"@deffnx primitive make-doubly-weak-hash-table size\n"
|
"@deffnx {Scheme Procedure} make-doubly-weak-hash-table size\n"
|
||||||
"Return a weak hash table with @var{size} buckets. As with any\n"
|
"Return a weak hash table with @var{size} buckets. As with any\n"
|
||||||
"hash table, choosing a good size for the table requires some\n"
|
"hash table, choosing a good size for the table requires some\n"
|
||||||
"caution.\n"
|
"caution.\n"
|
||||||
|
@ -206,8 +206,8 @@ SCM_DEFINE (scm_make_doubly_weak_hash_table, "make-doubly-weak-hash-table", 1, 0
|
||||||
|
|
||||||
SCM_DEFINE (scm_weak_key_hash_table_p, "weak-key-hash-table?", 1, 0, 0,
|
SCM_DEFINE (scm_weak_key_hash_table_p, "weak-key-hash-table?", 1, 0, 0,
|
||||||
(SCM obj),
|
(SCM obj),
|
||||||
"@deffnx primitive weak-value-hash-table? obj\n"
|
"@deffnx {Scheme Procedure} weak-value-hash-table? obj\n"
|
||||||
"@deffnx primitive doubly-weak-hash-table? obj\n"
|
"@deffnx {Scheme Procedure} doubly-weak-hash-table? obj\n"
|
||||||
"Return @code{#t} if @var{obj} is the specified weak hash\n"
|
"Return @code{#t} if @var{obj} is the specified weak hash\n"
|
||||||
"table. Note that a doubly weak hash table is neither a weak key\n"
|
"table. Note that a doubly weak hash table is neither a weak key\n"
|
||||||
"nor a weak value hash table.")
|
"nor a weak value hash table.")
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
2002-03-14 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
|
These changes add a @deffnx C function declaration and function
|
||||||
|
index entries for each Guile primitive to the copy of the doc
|
||||||
|
snarf output that is used for reference manual synchronization.
|
||||||
|
|
||||||
|
* snarf-check-and-output-texi (*manual-flag*,
|
||||||
|
snarf-check-and-output-texi): Handle `--manual' invocation arg
|
||||||
|
passed through from libguile/Makefile.am.
|
||||||
|
(*c-function-name*, begin-multiline, do-command): Pick out C
|
||||||
|
function name from snarfed token stream.
|
||||||
|
(end-multiline): Add @deffnx C declaration to output.
|
||||||
|
(*primitive-deffnx-signature*, *primitive-deffnx-sig-length*):
|
||||||
|
Fluff to help insert the C declaration after any "@deffnx
|
||||||
|
{Scheme Procedure}" lines in the snarfed docstring.
|
||||||
|
|
||||||
|
* snarf-check-and-output-texi: Change generated @deffn categories
|
||||||
|
from "primitive" to "Scheme Procedure".
|
||||||
|
|
||||||
2002-03-05 Neil Jerram <neil@ossau.uklinux.net>
|
2002-03-05 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
* Makefile.am (scripts_sources): Add `lint'.
|
* Makefile.am (scripts_sources): Add `lint'.
|
||||||
|
|
|
@ -39,7 +39,11 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(define-macro (unless cond . body)
|
(define-macro (unless cond . body)
|
||||||
`(if (not ,cond) (begin ,@body)))
|
`(if (not ,cond) (begin ,@body)))
|
||||||
|
|
||||||
(define (snarf-check-and-output-texi)
|
(define *manual-flag* #f)
|
||||||
|
|
||||||
|
(define (snarf-check-and-output-texi . flags)
|
||||||
|
(if (member "--manual" flags)
|
||||||
|
(set! *manual-flag* #t))
|
||||||
(process-stream (current-input-port)))
|
(process-stream (current-input-port)))
|
||||||
|
|
||||||
(define (process-stream port)
|
(define (process-stream port)
|
||||||
|
@ -122,6 +126,7 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
|
|
||||||
(define *file* #f)
|
(define *file* #f)
|
||||||
(define *line* #f)
|
(define *line* #f)
|
||||||
|
(define *c-function-name* #f)
|
||||||
(define *function-name* #f)
|
(define *function-name* #f)
|
||||||
(define *snarf-type* #f)
|
(define *snarf-type* #f)
|
||||||
(define *args* #f)
|
(define *args* #f)
|
||||||
|
@ -131,12 +136,16 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(define (begin-multiline)
|
(define (begin-multiline)
|
||||||
(set! *file* #f)
|
(set! *file* #f)
|
||||||
(set! *line* #f)
|
(set! *line* #f)
|
||||||
|
(set! *c-function-name* #f)
|
||||||
(set! *function-name* #f)
|
(set! *function-name* #f)
|
||||||
(set! *snarf-type* #f)
|
(set! *snarf-type* #f)
|
||||||
(set! *args* #f)
|
(set! *args* #f)
|
||||||
(set! *sig* #f)
|
(set! *sig* #f)
|
||||||
(set! *docstring* #f))
|
(set! *docstring* #f))
|
||||||
|
|
||||||
|
(define *primitive-deffnx-signature* "@deffnx {Scheme Procedure} ")
|
||||||
|
(define *primitive-deffnx-sig-length* (string-length *primitive-deffnx-signature*))
|
||||||
|
|
||||||
(define (end-multiline)
|
(define (end-multiline)
|
||||||
(let* ((req (car *sig*))
|
(let* ((req (car *sig*))
|
||||||
(opt (cadr *sig*))
|
(opt (cadr *sig*))
|
||||||
|
@ -170,16 +179,37 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(if (not (null? tail))
|
(if (not (null? tail))
|
||||||
(begin
|
(begin
|
||||||
(format #t "~A" (car tail))
|
(format #t "~A" (car tail))
|
||||||
(loop-tail (cdr tail)))))))))))))))
|
(loop-tail (cdr tail))))))))))))))
|
||||||
|
(scm-deffnx
|
||||||
|
(if (and *manual-flag* (eq? *snarf-type* 'primitive))
|
||||||
|
(with-output-to-string
|
||||||
|
(lambda ()
|
||||||
|
(format #t "@deffnx {C Function} ~A (" *c-function-name*)
|
||||||
|
(unless (null? *args*)
|
||||||
|
(format #t "~A" (car *args*))
|
||||||
|
(let loop ((args (cdr *args*)))
|
||||||
|
(unless (null? args)
|
||||||
|
(format #t ", ~A" (car args))
|
||||||
|
(loop (cdr args)))))
|
||||||
|
(format #t ")\n")))
|
||||||
|
#f)))
|
||||||
(format #t "\n~A\n" *function-name*)
|
(format #t "\n~A\n" *function-name*)
|
||||||
(format #t "@c snarfed from ~A:~A\n" *file* *line*)
|
(format #t "@c snarfed from ~A:~A\n" *file* *line*)
|
||||||
(format #t "@deffn primitive ~A\n" nice-sig)
|
(format #t "@deffn {Scheme Procedure} ~A\n" nice-sig)
|
||||||
(let loop ((strings *docstring*))
|
(let loop ((strings *docstring*) (scm-deffnx scm-deffnx))
|
||||||
(if (not (null? strings))
|
(cond ((null? strings))
|
||||||
(begin
|
((or (not scm-deffnx)
|
||||||
|
(and (>= (string-length (car strings))
|
||||||
|
*primitive-deffnx-sig-length*)
|
||||||
|
(string=? (substring (car strings)
|
||||||
|
0 *primitive-deffnx-sig-length*)
|
||||||
|
*primitive-deffnx-signature*)))
|
||||||
(display (car strings))
|
(display (car strings))
|
||||||
(loop (cdr strings)))))
|
(loop (cdr strings) scm-deffnx))
|
||||||
(display "\n@end deffn\n"))))
|
(else (display scm-deffnx)
|
||||||
|
(loop strings #f))))
|
||||||
|
(display "\n")
|
||||||
|
(display "@end deffn\n"))))
|
||||||
|
|
||||||
(define (texi-quote s)
|
(define (texi-quote s)
|
||||||
(let rec ((i 0))
|
(let rec ((i 0))
|
||||||
|
@ -221,6 +251,9 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(define do-command
|
(define do-command
|
||||||
(match-lambda
|
(match-lambda
|
||||||
|
|
||||||
|
(('cname ('id . name))
|
||||||
|
(set! *c-function-name* (texi-quote (symbol->string name))))
|
||||||
|
|
||||||
(('fname ('string . name))
|
(('fname ('string . name))
|
||||||
(set! *function-name* (texi-quote name)))
|
(set! *function-name* (texi-quote name)))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue