mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-06 20:20:20 +02:00
* Adding C function declarations from the SCM interface to the
reference manual documentation.
This commit is contained in:
parent
cecb4a5e9d
commit
8f85c0c6c3
49 changed files with 3570 additions and 2271 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2001-11-16 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
|
* guile.texi: Replaced by regenerated libguile version.
|
||||||
|
|
||||||
|
* docstring.el (make-module-description-list): Exclude @deffn's
|
||||||
|
with category {C Function}.
|
||||||
|
(docstring-process-alist): Bind key "d" to
|
||||||
|
docstring-ediff-this-line in the docstring output buffer.
|
||||||
|
|
||||||
2001-11-13 Neil Jerram <neil@ossau.uklinux.net>
|
2001-11-13 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
* guile.texi: Replaced by libguile version (after automatically
|
* guile.texi: Replaced by libguile version (after automatically
|
||||||
|
|
|
@ -217,9 +217,12 @@ to which new docstrings should be added.")
|
||||||
(match-end 1))))
|
(match-end 1))))
|
||||||
(if (string-equal matched "@c module ")
|
(if (string-equal matched "@c module ")
|
||||||
(setq module (read (current-buffer)))
|
(setq module (read (current-buffer)))
|
||||||
|
(let ((type (buffer-substring (match-beginning 2)
|
||||||
|
(match-end 2))))
|
||||||
|
(if (string-equal type "{C Function}")
|
||||||
|
nil
|
||||||
(setq matched
|
(setq matched
|
||||||
(concat (buffer-substring (match-beginning 2)
|
(concat type
|
||||||
(match-end 2))
|
|
||||||
" "
|
" "
|
||||||
(buffer-substring (match-beginning 3)
|
(buffer-substring (match-beginning 3)
|
||||||
(match-end 3))))
|
(match-end 3))))
|
||||||
|
@ -229,7 +232,7 @@ to which new docstrings should be added.")
|
||||||
(cons (cons module (cons matched (cdr-safe descriptions)))
|
(cons (cons module (cons matched (cdr-safe descriptions)))
|
||||||
(if descriptions
|
(if descriptions
|
||||||
(delete descriptions alist)
|
(delete descriptions alist)
|
||||||
alist))))))))
|
alist))))))))))
|
||||||
alist))
|
alist))
|
||||||
|
|
||||||
;; Return the docstring from the specified LOCATION. LOCATION is a
|
;; Return the docstring from the specified LOCATION. LOCATION is a
|
||||||
|
@ -428,6 +431,7 @@ new snarfed docstring file.\n\n")
|
||||||
(insert "\n")
|
(insert "\n")
|
||||||
|
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
|
(local-set-key "d" 'docstring-ediff-this-line)
|
||||||
|
|
||||||
;; Popup the issues buffer.
|
;; Popup the issues buffer.
|
||||||
(let ((pop-up-frames t))
|
(let ((pop-up-frames t))
|
||||||
|
|
2242
doc/maint/guile.texi
2242
doc/maint/guile.texi
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,19 @@
|
||||||
|
2001-11-16 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
|
* debugging.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, script-getopt.texi, srfi-modules.texi: Change
|
||||||
|
category for "primitive" and "procedure" @deffn's to {Scheme
|
||||||
|
Procedure}; add @deffnx lines for {C Function}s; automatic updates
|
||||||
|
from libguile docstring changes.
|
||||||
|
|
||||||
|
* scheme-memory.texi (Garbage Collection): Removed doc for removed
|
||||||
|
`unhash-name'.
|
||||||
|
|
||||||
2001-11-14 Thien-Thi Nguyen <ttn@glug.org>
|
2001-11-14 Thien-Thi Nguyen <ttn@glug.org>
|
||||||
|
|
||||||
* scheme-procedures.texi: Spell "library" correctly.
|
* scheme-procedures.texi: Spell "library" correctly.
|
||||||
|
|
|
@ -117,11 +117,11 @@ 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
|
can learn more about the program's state at the point of interruption by
|
||||||
inspecting and modifying these frames.
|
inspecting and modifying these frames.
|
||||||
|
|
||||||
@deffn primitive stack? obj
|
@deffn {Scheme Procedure} stack? 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
|
||||||
|
|
||||||
@deffn primitive make-stack
|
@deffn {Scheme Procedure} make-stack
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn syntax start-stack id exp
|
@deffn syntax start-stack id exp
|
||||||
|
@ -132,48 +132,48 @@ way of artificially limiting backtraces and stack procedures, largely as
|
||||||
a convenience to the user.
|
a convenience to the user.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive stack-id stack
|
@deffn {Scheme Procedure} 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-ref
|
@deffn {Scheme Procedure} stack-ref
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive stack-length
|
@deffn {Scheme Procedure} stack-length
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame?
|
@deffn {Scheme Procedure} frame?
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive last-stack-frame
|
@deffn {Scheme Procedure} last-stack-frame
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-number
|
@deffn {Scheme Procedure} frame-number
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-source
|
@deffn {Scheme Procedure} frame-source
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-procedure
|
@deffn {Scheme Procedure} frame-procedure
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-arguments
|
@deffn {Scheme Procedure} frame-arguments
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-previous
|
@deffn {Scheme Procedure} frame-previous
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-next
|
@deffn {Scheme Procedure} frame-next
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-real?
|
@deffn {Scheme Procedure} frame-real?
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-procedure?
|
@deffn {Scheme Procedure} frame-procedure?
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-evaluating-args?
|
@deffn {Scheme Procedure} frame-evaluating-args?
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive frame-overflow
|
@deffn {Scheme Procedure} frame-overflow
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
|
@ -38,7 +38,7 @@ 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]]
|
||||||
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 +132,7 @@ 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
|
||||||
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.3 2001-11-11 15:01:51 ossau Exp $
|
@c $Id: intro.texi,v 1.4 2001-11-16 15:04:16 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.
|
||||||
|
@ -76,7 +76,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 superclasses.
|
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,271 @@ 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 fot the method @var{obj}.
|
Return the generic function fot 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
|
||||||
|
@deffnx {C Function} scm_class_direct_supers (obj)
|
||||||
Return the direct superclasses of the class @var{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
|
||||||
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 +606,7 @@ 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
|
||||||
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 +614,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,23 +627,28 @@ 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 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
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -232,7 +232,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
|
||||||
|
|
||||||
|
|
|
@ -273,7 +273,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
|
||||||
|
@ -325,7 +325,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
|
||||||
|
@ -334,7 +335,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
|
||||||
|
@ -490,7 +491,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:
|
||||||
|
@ -545,7 +547,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}.
|
||||||
|
|
||||||
|
@ -607,7 +610,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:
|
||||||
|
@ -728,12 +732,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
|
||||||
|
@ -749,7 +754,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
|
||||||
|
@ -769,7 +775,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}.
|
||||||
|
@ -861,12 +868,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
|
||||||
|
|
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 occured and
|
the name of the procedure in which the error occured 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,18 +163,19 @@ 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 @var{read-options}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@ -181,13 +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
|
||||||
Evaluate @var{exp}, a list representing a Scheme expression, in the
|
@deffnx {C Function} scm_eval (exp, module)
|
||||||
environment given by @var{environment specifier}.
|
Evaluate @var{exp}, a list representing a Scheme expression,
|
||||||
|
in the top-level environment specified by @var{module}.
|
||||||
|
While @var{exp} is evaluated (using @code{primitive-eval}),
|
||||||
|
@var{module} is made the current module. The current module
|
||||||
|
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
|
||||||
|
@ -195,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
|
||||||
|
@ -213,13 +223,14 @@ 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
|
||||||
|
@ -229,7 +240,7 @@ the current module.
|
||||||
@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
|
||||||
|
@ -237,12 +248,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
|
||||||
|
@ -252,14 +264,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
|
||||||
|
@ -285,7 +299,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
|
||||||
|
@ -303,13 +318,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.
|
||||||
|
@ -321,7 +338,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
|
||||||
|
@ -343,7 +361,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
|
||||||
|
@ -356,24 +374,25 @@ 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 @var{eval-options}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@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
|
||||||
|
@ -386,15 +405,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
|
||||||
|
|
||||||
|
|
|
@ -34,20 +34,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}))}.
|
||||||
|
@ -60,13 +63,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
|
||||||
|
@ -83,14 +88,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
|
||||||
|
@ -105,21 +112,24 @@ 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]
|
||||||
|
@deffnx {C Function} scm_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.,
|
||||||
|
@ -136,8 +146,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
|
||||||
|
@ -148,8 +160,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
|
||||||
|
@ -159,13 +173,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),
|
||||||
|
@ -174,23 +189,28 @@ 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]
|
||||||
Send a newline to @var{port} (default @var{current-output-port} if omitted).
|
@deffnx {C Function} scm_newline (port)
|
||||||
|
Send a newline to @var{port}.
|
||||||
|
If @var{port} is omitted, send to the current output port.
|
||||||
@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
|
||||||
|
@ -205,12 +225,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
|
||||||
|
@ -220,7 +242,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
|
||||||
|
@ -229,7 +252,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
|
||||||
|
@ -239,7 +263,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.
|
||||||
|
@ -249,7 +274,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.
|
||||||
|
@ -258,7 +284,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
|
||||||
|
@ -267,7 +294,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}.
|
||||||
|
@ -293,7 +321,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:
|
||||||
|
|
||||||
|
@ -304,7 +333,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.
|
||||||
|
@ -328,7 +358,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.
|
||||||
|
@ -351,7 +381,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.
|
||||||
|
@ -360,7 +390,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)}.
|
||||||
|
@ -368,7 +398,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,
|
||||||
|
@ -379,7 +409,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:
|
||||||
|
@ -393,7 +424,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;
|
||||||
|
@ -411,7 +443,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
|
||||||
|
@ -432,7 +465,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
|
||||||
|
@ -472,7 +506,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
|
||||||
|
@ -520,38 +555,44 @@ 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)
|
||||||
|
@deffnx {C Function} scm_set_current_output_port (port)
|
||||||
|
@deffnx {C Function} scm_set_current_error_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
|
||||||
|
|
||||||
|
@ -576,7 +617,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
|
||||||
|
@ -617,7 +659,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")
|
||||||
|
@ -625,7 +667,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")
|
||||||
|
@ -633,7 +675,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
|
||||||
|
@ -646,7 +688,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
|
||||||
|
@ -659,7 +701,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
|
||||||
|
@ -672,7 +714,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
|
||||||
|
@ -684,7 +726,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
|
||||||
|
@ -696,27 +738,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
|
||||||
Returns 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
|
||||||
|
|
||||||
|
@ -727,38 +773,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
|
||||||
|
@ -766,7 +816,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.
|
||||||
|
@ -784,7 +835,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
|
||||||
|
@ -835,11 +887,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
|
/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,26 +15,24 @@
|
||||||
[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
|
|
||||||
Flushes the glocs for @var{name}, or all glocs if @var{name}
|
|
||||||
is @code{#t}.
|
|
||||||
@end deffn
|
|
||||||
|
|
||||||
|
|
||||||
@node Weak References
|
@node Weak References
|
||||||
@section Weak References
|
@section Weak References
|
||||||
|
@ -84,9 +82,12 @@ 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)
|
||||||
|
@deffnx {C Function} scm_make_weak_value_hash_table (size)
|
||||||
|
@deffnx {C Function} scm_make_doubly_weak_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 +96,27 @@ 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)
|
||||||
|
@deffnx {C Function} scm_weak_value_hash_table_p (obj)
|
||||||
|
@deffnx {C Function} scm_doubly_weak_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 +126,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 +153,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 +182,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 +204,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
|
||||||
|
|
||||||
|
@ -495,7 +496,8 @@ When using the low level procedures to do your dynamic linking, you have
|
||||||
complete control over which library is loaded when and what get's done
|
complete control over which library is loaded when and what get's done
|
||||||
with it.
|
with it.
|
||||||
|
|
||||||
@deffn primitive dynamic-link library
|
@deffn {Scheme Procedure} dynamic-link library
|
||||||
|
@deffnx {C Function} scm_dynamic_link (library)
|
||||||
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.
|
||||||
|
@ -507,24 +509,26 @@ 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? obj
|
||||||
Determine whether @var{val} represents a dynamically linked object file.
|
@deffnx {C Function} scm_dynamic_object_p (obj)
|
||||||
|
Return @code{#t} if @var{obj} is a dynamic library handle, or @code{#f}
|
||||||
|
otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive dynamic-unlink dynobj
|
@deffn {Scheme Procedure} dynamic-unlink dobj
|
||||||
Unlink the indicated object file from the application. The argument
|
@deffnx {C Function} scm_dynamic_unlink (dobj)
|
||||||
@var{dynobj} should be one of the values returned by
|
Unlink the indicated object file from the application. The
|
||||||
@code{dynamic-link}. When @code{dynamic-unlink} has been called on
|
argument @var{dobj} must have been obtained by a call to
|
||||||
@var{dynobj}, it is no longer usable as an argument to the functions
|
@code{dynamic-link}. After @code{dynamic-unlink} has been
|
||||||
below and you will get type mismatch errors when you try to.
|
called on @var{dobj}, its content is no longer accessible.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive dynamic-func function dynobj
|
@deffn {Scheme Procedure} dynamic-func name dobj
|
||||||
Search the C function indicated by @var{function} (a string or symbol)
|
@deffnx {C Function} scm_dynamic_func (name, dobj)
|
||||||
in @var{dynobj} and return some Scheme object that can later be used
|
Search the dynamic object @var{dobj} for the C function
|
||||||
with @code{dynamic-call} to actually call this function. Right now,
|
indicated by the string @var{name} and return some Scheme
|
||||||
these Scheme objects are formed by casting the address of the function
|
handle that can later be used with @code{dynamic-call} to
|
||||||
to @code{long} and converting this number to its Scheme representation.
|
actually call the function.
|
||||||
|
|
||||||
Regardless whether your C compiler prepends an underscore @samp{_} to
|
Regardless whether your C compiler prepends an underscore @samp{_} to
|
||||||
the global names in a program, you should @strong{not} include this
|
the global names in a program, you should @strong{not} include this
|
||||||
|
@ -532,35 +536,37 @@ 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 func dobj
|
||||||
Call the C function indicated by @var{function} and @var{dynobj}. The
|
@deffnx {C Function} scm_dynamic_call (func, dobj)
|
||||||
function is passed no arguments and its return value is ignored. When
|
Call the C function indicated by @var{func} and @var{dobj}.
|
||||||
@var{function} is something returned by @code{dynamic-func}, call that
|
The function is passed no arguments and its return value is
|
||||||
function and ignore @var{dynobj}. When @var{function} is a string (or
|
ignored. When @var{function} is something returned by
|
||||||
symbol, etc.), look it up in @var{dynobj}; this is equivalent to
|
@code{dynamic-func}, call that function and ignore @var{dobj}.
|
||||||
|
When @var{func} is a string , look it up in @var{dynobj}; this
|
||||||
|
is equivalent to
|
||||||
@smallexample
|
@smallexample
|
||||||
(dynamic-call (dynamic-func @var{function} @var{dynobj} #f))
|
(dynamic-call (dynamic-func @var{func} @var{dobj} #f))
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
Interrupts are deferred while the C function is executing (with
|
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 func dobj args
|
||||||
Call the C function indicated by @var{function} and @var{dynobj}, just
|
@deffnx {C Function} scm_dynamic_args_call (func, dobj, args)
|
||||||
like @code{dynamic-call}, but pass it some arguments and return its
|
Call the C function indicated by @var{func} and @var{dobj},
|
||||||
return value. The C function is expected to take two arguments and
|
just like @code{dynamic-call}, but pass it some arguments and
|
||||||
return an @code{int}, just like @code{main}:
|
return its return value. The C function is expected to take
|
||||||
|
two arguments and return an @code{int}, just like @code{main}:
|
||||||
@smallexample
|
@smallexample
|
||||||
int c_func (int argc, char **argv);
|
int c_func (int argc, char **argv);
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
The parameter @var{args} must be a list of strings and is converted into
|
The parameter @var{args} must be a list of strings and is
|
||||||
an array of @code{char *}. The array is passed in @var{argv} and its
|
converted into an array of @code{char *}. The array is passed
|
||||||
size in @var{argc}. The return value is converted to a Scheme number
|
in @var{argv} and its size in @var{argc}. The return value is
|
||||||
and returned from the call to @code{dynamic-args-call}.
|
converted to a Scheme number and returned from the call to
|
||||||
|
@code{dynamic-args-call}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
When dynamic linking is disabled or not supported on your system,
|
When dynamic linking is disabled or not supported on your system,
|
||||||
|
|
|
@ -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.
|
||||||
|
@ -331,10 +331,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.
|
||||||
|
|
||||||
|
@ -347,37 +351,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,23 @@ 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
|
||||||
|
@deffnx {C Function} scm_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 obj key
|
||||||
|
@deffnx {C Function} scm_procedure_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-procedure-properties! proc new_val
|
@deffn {Scheme Procedure} set-procedure-properties! proc alist
|
||||||
|
@deffnx {C Function} scm_set_procedure_properties_x (proc, 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 set-procedure-property! p k v
|
@deffn {Scheme Procedure} set-procedure-property! obj key value
|
||||||
|
@deffnx {C Function} scm_set_procedure_property_x (obj, key, value)
|
||||||
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 +393,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 +406,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 +492,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,30 +725,34 @@ 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
|
||||||
Return a macro which, when a symbol defined to this value appears as the
|
@deffnx {C Function} scm_makacro (code)
|
||||||
first symbol in an expression, returns the result of applying @var{code}
|
Return a @dfn{macro} which, when a symbol defined to this value
|
||||||
to the expression and the environment.
|
appears as the first symbol in an expression, returns the
|
||||||
|
result of applying @var{code} to the expression and the
|
||||||
|
environment.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive procedure->macro code
|
@deffn {Scheme Procedure} procedure->macro code
|
||||||
Return a macro which, when a symbol defined to this value appears as the
|
@deffnx {C Function} scm_makmacro (code)
|
||||||
first symbol in an expression, evaluates the result of applying
|
Return a @dfn{macro} which, when a symbol defined to this value
|
||||||
@var{code} to the expression and the environment. For example:
|
appears as the first symbol in an expression, evaluates the
|
||||||
|
result of applying @var{code} to the expression and the
|
||||||
|
environment. The value returned from @var{code} which has been
|
||||||
|
passed to @code{procedure->memoizing-macro} replaces the form
|
||||||
|
passed to @var{code}. For example:
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
(define trace
|
(define trace
|
||||||
(procedure->macro
|
(procedure->macro
|
||||||
(lambda (x env)
|
(lambda (x env) `(set! ,(cadr x) (tracef ,(cadr x) ',(cadr x))))))
|
||||||
`(set! ,(cadr x) (tracef ,(cadr x) ',(cadr x))))))
|
|
||||||
|
|
||||||
(trace @i{foo})
|
(trace @i{foo}) @equiv{} (set! @i{foo} (tracef @i{foo} '@i{foo})).
|
||||||
@equiv{}
|
|
||||||
(set! @i{foo} (tracef @i{foo} '@i{foo})).
|
|
||||||
@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 +765,14 @@ of the containing code.
|
||||||
In the following primitives, @dfn{acro} flavour macros are referred to
|
In the following primitives, @dfn{acro} flavour 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 +780,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,28 +12,32 @@
|
||||||
@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
|
||||||
|
@deffnx {C Function} scm_nil_car (x)
|
||||||
Return the car of @var{x}, but convert it to LISP nil if it
|
Return the car of @var{x}, but convert it to LISP nil if it
|
||||||
is Scheme's end-of-list.
|
is Scheme's end-of-list.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive nil-cdr x
|
@deffn {Scheme Procedure} nil-cdr x
|
||||||
|
@deffnx {C Function} scm_nil_cdr (x)
|
||||||
Return the cdr of @var{x}, but convert it to LISP nil if it
|
Return the cdr of @var{x}, but convert it to LISP nil if it
|
||||||
is Scheme's end-of-list.
|
is Scheme's end-of-list.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn primitive nil-cons x y
|
@deffn {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
|
||||||
|
@deffnx {C Function} scm_null (x)
|
||||||
Return LISP's @code{t} if @var{x} is nil in the LISP sense,
|
Return LISP's @code{t} if @var{x} is nil in the LISP sense,
|
||||||
return LISP's nil otherwise.
|
return LISP's nil otherwise.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
|
@ -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,23 @@ 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 {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 {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 {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 {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 +117,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 +136,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,15 +165,19 @@ 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
|
||||||
Take two lists @var{alist} and @var{blist} such that
|
@deffnx {C Function} scm_merge (alist, blist, less)
|
||||||
@code{(sorted? alist less?)} and @code{(sorted? blist less?)} and
|
Merge two already sorted lists into one.
|
||||||
returns a new list in which the elements of @var{alist} and
|
Given two lists @var{alist} and @var{blist}, such that
|
||||||
|
@code{(sorted? alist less?)} and @code{(sorted? blist less?)},
|
||||||
|
return a new list in which the elements of @var{alist} and
|
||||||
@var{blist} have been stably interleaved so that
|
@var{blist} have been stably interleaved so that
|
||||||
@code{(sorted? (merge alist blist less?) less?)}.
|
@code{(sorted? (merge alist blist less?) less?)}.
|
||||||
|
Note: this does _not_ accept vectors.
|
||||||
@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 +197,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 +220,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 +239,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 +273,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 +300,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}).
|
||||||
|
|
|
@ -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,5 +1,30 @@
|
||||||
2001-11-16 Neil Jerram <neil@ossau.uklinux.net>
|
2001-11-16 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
|
* gc.h (scm_unhash_name): Old declaration removed.
|
||||||
|
|
||||||
|
* eval.c (s_scm_eval): Change @var{primitive-eval} to
|
||||||
|
@code{primitive-eval}.
|
||||||
|
|
||||||
|
* feature.c, vectors.c, net_db.c, unif.c, weaks.c, struct.c,
|
||||||
|
version.c, alist.c, ports.c, ramap.c, unif.c, strings.c, list.c:
|
||||||
|
Change @deffnx lines in docstrings to say {Scheme Procedure}
|
||||||
|
rather than primitive or procedure.
|
||||||
|
|
||||||
|
* posix.c (scm_execl), filesys.c (scm_close), unif.c
|
||||||
|
(scm_array_set_x, scm_array_contents, scm_uniform_array_read_x,
|
||||||
|
scm_bit_set_star_x, scm_bit_invert_x), ramap.c (scm_array_fill_x,
|
||||||
|
scm_array_for_each, scm_array_index_map_x), vectors.c (scm_vector,
|
||||||
|
scm_make_vector, scm_vector_to_list, scm_vector_fill_x), strop.c
|
||||||
|
(scm_string_split, scm_string_ci_to_symbol), strings.c
|
||||||
|
(scm_string_p), sort.c (scm_merge), print.c (scm_newline),
|
||||||
|
macros.c (scm_macro_type), alist.c (scm_acons, scm_assq):
|
||||||
|
Docstring fixes and improvements reflecting edits that have been
|
||||||
|
made in the reference manual source.
|
||||||
|
|
||||||
|
* objprop.c (scm_object_properties, scm_set_object_properties_x,
|
||||||
|
scm_object_property, scm_set_object_property_x): Remove invalid
|
||||||
|
@deffnx lines for corresponding procedure property primitives.
|
||||||
|
|
||||||
These changes add a @deffnx C function declaration and function
|
These changes add a @deffnx C function declaration and function
|
||||||
index entries for each Guile primitive to the copy of the doc
|
index entries for each Guile primitive to the copy of the doc
|
||||||
snarf output that is used for reference manual synchronization.
|
snarf output that is used for reference manual synchronization.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -4069,7 +4069,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"
|
||||||
|
|
|
@ -382,7 +382,7 @@ SCM_DEFINE (scm_open, "open", 2, 1, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_close, "close", 1, 0, 0,
|
SCM_DEFINE (scm_close, "close", 1, 0, 0,
|
||||||
(SCM fd_or_port),
|
(SCM fd_or_port),
|
||||||
"Similar to close-port (@pxref{Generic Port Operations, close-port}),\n"
|
"Similar to close-port (@pxref{Closing, close-port}),\n"
|
||||||
"but also works on file descriptors. A side\n"
|
"but also works on file descriptors. A side\n"
|
||||||
"effect of closing a file descriptor is that any ports using that file\n"
|
"effect of closing a file descriptor is that any ports using that file\n"
|
||||||
"descriptor are moved to a different file descriptor and have\n"
|
"descriptor are moved to a different file descriptor and have\n"
|
||||||
|
|
|
@ -351,7 +351,6 @@ SCM_API void scm_assert_cell_valid (SCM);
|
||||||
SCM_API SCM scm_set_debug_cell_accesses_x (SCM flag);
|
SCM_API SCM scm_set_debug_cell_accesses_x (SCM flag);
|
||||||
#endif
|
#endif
|
||||||
SCM_API SCM scm_object_address (SCM obj);
|
SCM_API SCM scm_object_address (SCM obj);
|
||||||
SCM_API SCM scm_unhash_name (SCM name);
|
|
||||||
SCM_API SCM scm_gc_stats (void);
|
SCM_API SCM scm_gc_stats (void);
|
||||||
SCM_API SCM scm_gc (void);
|
SCM_API SCM scm_gc (void);
|
||||||
SCM_API void scm_gc_for_alloc (struct scm_t_freelist *freelist);
|
SCM_API void scm_gc_for_alloc (struct scm_t_freelist *freelist);
|
||||||
|
|
|
@ -445,7 +445,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"
|
||||||
|
@ -628,8 +628,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"
|
||||||
|
|
|
@ -175,7 +175,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"
|
||||||
|
@ -219,8 +219,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"
|
||||||
|
@ -269,8 +269,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"
|
||||||
|
@ -332,8 +332,8 @@ scm_return_entry (struct servent *entry)
|
||||||
|
|
||||||
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"
|
||||||
|
|
|
@ -56,7 +56,6 @@
|
||||||
|
|
||||||
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"
|
|
||||||
"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 +66,6 @@ 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"
|
|
||||||
"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 +77,6 @@ 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"
|
|
||||||
"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 +88,6 @@ 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"
|
|
||||||
"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
|
||||||
|
|
|
@ -395,8 +395,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.")
|
||||||
|
@ -1400,7 +1400,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"
|
||||||
|
@ -1419,7 +1419,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
|
||||||
|
|
|
@ -867,7 +867,7 @@ SCM_DEFINE (scm_execl, "execl", 1, 0, 1,
|
||||||
"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 accessable 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"
|
||||||
"argument list, which may have system-dependent side-effects.\n\n"
|
"argument list, which may have system-dependent side-effects.\n\n"
|
||||||
"This procedure is currently implemented using the @code{execv} system\n"
|
"This procedure is currently implemented using the @code{execv} system\n"
|
||||||
|
|
|
@ -992,7 +992,8 @@ SCM_DEFINE (scm_simple_format, "simple-format", 2, 0, 1,
|
||||||
|
|
||||||
SCM_DEFINE (scm_newline, "newline", 0, 1, 0,
|
SCM_DEFINE (scm_newline, "newline", 0, 1, 0,
|
||||||
(SCM port),
|
(SCM port),
|
||||||
"Send a newline to @var{port}.")
|
"Send a newline to @var{port}.\n"
|
||||||
|
"If @var{port} is omitted, send to the current output port.")
|
||||||
#define FUNC_NAME s_scm_newline
|
#define FUNC_NAME s_scm_newline
|
||||||
{
|
{
|
||||||
if (SCM_UNBNDP (port))
|
if (SCM_UNBNDP (port))
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -516,9 +516,10 @@ 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"
|
"Merge two already sorted lists into one.\n"
|
||||||
"@code{(sorted? alist less?)} and @code{(sorted? blist less?)} and\n"
|
"Given two lists @var{alist} and @var{blist}, such that\n"
|
||||||
"returns a new list in which the elements of @var{alist} and\n"
|
"@code{(sorted? alist less?)} and @code{(sorted? blist less?)},\n"
|
||||||
|
"return 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"
|
||||||
"@code{(sorted? (merge alist blist less?) less?)}.\n"
|
"@code{(sorted? (merge alist blist less?) less?)}.\n"
|
||||||
"Note: this does _not_ accept vectors.")
|
"Note: this does _not_ accept vectors.")
|
||||||
|
|
|
@ -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} iff @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));
|
||||||
|
@ -71,7 +70,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
|
||||||
|
|
|
@ -472,15 +472,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")
|
||||||
|
@ -518,7 +518,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
|
||||||
|
|
|
@ -560,7 +560,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,6 @@ 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"
|
|
||||||
"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,11 +1481,11 @@ 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,\n"
|
||||||
"uniform-array-read! the objects up to that point only are put into @var{ura}\n"
|
"the objects up to that point are put into @var{ura}\n"
|
||||||
"(starting at the beginning) and the remainder of the array is\n"
|
"(starting at the beginning) and the remainder of the array is\n"
|
||||||
"unchanged.\n\n"
|
"unchanged.\n\n"
|
||||||
"The optional arguments @var{start} and @var{end} allow\n"
|
"The optional arguments @var{start} and @var{end} allow\n"
|
||||||
|
@ -1650,7 +1649,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"
|
||||||
|
@ -1890,7 +1889,7 @@ SCM_DEFINE (scm_bit_set_star_x, "bit-set*!", 3, 0, 0,
|
||||||
"length. If @var{bool} is @code{#t}, uve is OR'ed into\n"
|
"length. If @var{bool} is @code{#t}, uve is OR'ed into\n"
|
||||||
"@var{bv}; If @var{bool} is @code{#f}, the inversion of uve is\n"
|
"@var{bv}; If @var{bool} is @code{#f}, the inversion of uve is\n"
|
||||||
"AND'ed into @var{bv}.\n\n"
|
"AND'ed into @var{bv}.\n\n"
|
||||||
"If uve is a unsigned integer vector all the elements of uve\n"
|
"If uve is a unsigned long integer vector all the elements of uve\n"
|
||||||
"must be between 0 and the @code{length} of @var{bv}. The bits\n"
|
"must be between 0 and the @code{length} of @var{bv}. The bits\n"
|
||||||
"of @var{bv} corresponding to the indexes in uve are set to\n"
|
"of @var{bv} corresponding to the indexes in uve are set to\n"
|
||||||
"@var{bool}. The return value is unspecified.")
|
"@var{bool}. The return value is unspecified.")
|
||||||
|
@ -2011,7 +2010,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 +2186,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"
|
||||||
|
|
|
@ -83,8 +83,8 @@ 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 composed of the\n"
|
||||||
"given arguments. Analogous to @code{list}.\n"
|
"given arguments. Analogous to @code{list}.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"@lisp\n"
|
"@lisp\n"
|
||||||
|
@ -173,8 +173,8 @@ scm_vector_set_x (SCM v, SCM k, SCM obj)
|
||||||
SCM_DEFINE (scm_make_vector, "make-vector", 1, 1, 0,
|
SCM_DEFINE (scm_make_vector, "make-vector", 1, 1, 0,
|
||||||
(SCM k, SCM fill),
|
(SCM k, SCM fill),
|
||||||
"Return a newly allocated vector of @var{k} elements. If a\n"
|
"Return a newly allocated vector of @var{k} elements. If a\n"
|
||||||
"second argument is given, then each element is initialized to\n"
|
"second argument is given, then each position is initialized to\n"
|
||||||
"@var{fill}. Otherwise the initial contents of each element is\n"
|
"@var{fill}. Otherwise the initial contents of each position is\n"
|
||||||
"unspecified.")
|
"unspecified.")
|
||||||
#define FUNC_NAME s_scm_make_vector
|
#define FUNC_NAME s_scm_make_vector
|
||||||
{
|
{
|
||||||
|
@ -226,8 +226,7 @@ scm_c_make_vector (unsigned long int k, SCM fill)
|
||||||
|
|
||||||
SCM_DEFINE (scm_vector_to_list, "vector->list", 1, 0, 0,
|
SCM_DEFINE (scm_vector_to_list, "vector->list", 1, 0, 0,
|
||||||
(SCM v),
|
(SCM v),
|
||||||
"Return a newly allocated list of the objects contained in the\n"
|
"Return a newly allocated list composed of the elements of @var{v}.\n"
|
||||||
"elements of @var{vector}.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"@lisp\n"
|
"@lisp\n"
|
||||||
"(vector->list '#(dah dah didah)) @result{} (dah dah didah)\n"
|
"(vector->list '#(dah dah didah)) @result{} (dah dah didah)\n"
|
||||||
|
@ -248,7 +247,7 @@ SCM_DEFINE (scm_vector_to_list, "vector->list", 1, 0, 0,
|
||||||
|
|
||||||
SCM_DEFINE (scm_vector_fill_x, "vector-fill!", 2, 0, 0,
|
SCM_DEFINE (scm_vector_fill_x, "vector-fill!", 2, 0, 0,
|
||||||
(SCM v, SCM fill),
|
(SCM v, SCM fill),
|
||||||
"Store @var{fill} in every element of @var{vector}. The value\n"
|
"Store @var{fill} in every position of @var{vector}. The value\n"
|
||||||
"returned by @code{vector-fill!} is unspecified.")
|
"returned by @code{vector-fill!} is unspecified.")
|
||||||
#define FUNC_NAME s_scm_vector_fill_x
|
#define FUNC_NAME s_scm_vector_fill_x
|
||||||
{
|
{
|
||||||
|
|
|
@ -94,9 +94,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,5 +1,11 @@
|
||||||
2001-11-16 Neil Jerram <neil@ossau.uklinux.net>
|
2001-11-16 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
|
* snarf-check-and-output-texi: Change generated @deffn categories
|
||||||
|
from "function" and "primitive" to "C Function" and "Scheme
|
||||||
|
Procedure".
|
||||||
|
(end-multiline): Take out @findex generation again; not needed
|
||||||
|
since index entries are implicit in @deffn forms.
|
||||||
|
|
||||||
These changes add a @deffnx C function declaration and function
|
These changes add a @deffnx C function declaration and function
|
||||||
index entries for each Guile primitive to the copy of the doc
|
index entries for each Guile primitive to the copy of the doc
|
||||||
snarf output that is used for reference manual synchronization.
|
snarf output that is used for reference manual synchronization.
|
||||||
|
|
|
@ -143,7 +143,7 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(set! *sig* #f)
|
(set! *sig* #f)
|
||||||
(set! *docstring* #f))
|
(set! *docstring* #f))
|
||||||
|
|
||||||
(define *primitive-deffnx-signature* "@deffnx primitive ")
|
(define *primitive-deffnx-signature* "@deffnx {Scheme Procedure} ")
|
||||||
(define *primitive-deffnx-sig-length* (string-length *primitive-deffnx-signature*))
|
(define *primitive-deffnx-sig-length* (string-length *primitive-deffnx-signature*))
|
||||||
|
|
||||||
(define (end-multiline)
|
(define (end-multiline)
|
||||||
|
@ -184,18 +184,18 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(if (and *manual-flag* (eq? *snarf-type* 'primitive))
|
(if (and *manual-flag* (eq? *snarf-type* 'primitive))
|
||||||
(with-output-to-string
|
(with-output-to-string
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(format #t "@deffnx function SCM ~A (" *c-function-name*)
|
(format #t "@deffnx {C Function} ~A (" *c-function-name*)
|
||||||
(unless (null? *args*)
|
(unless (null? *args*)
|
||||||
(format #t "SCM ~A" (car *args*))
|
(format #t "~A" (car *args*))
|
||||||
(let loop ((args (cdr *args*)))
|
(let loop ((args (cdr *args*)))
|
||||||
(unless (null? args)
|
(unless (null? args)
|
||||||
(format #t ", SCM ~A" (car args))
|
(format #t ", ~A" (car args))
|
||||||
(loop (cdr args)))))
|
(loop (cdr args)))))
|
||||||
(format #t ")\n")))
|
(format #t ")\n")))
|
||||||
#f)))
|
#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*) (scm-deffnx scm-deffnx))
|
(let loop ((strings *docstring*) (scm-deffnx scm-deffnx))
|
||||||
(cond ((null? strings))
|
(cond ((null? strings))
|
||||||
((or (not scm-deffnx)
|
((or (not scm-deffnx)
|
||||||
|
@ -209,9 +209,6 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(else (display scm-deffnx)
|
(else (display scm-deffnx)
|
||||||
(loop strings #f))))
|
(loop strings #f))))
|
||||||
(display "\n")
|
(display "\n")
|
||||||
(when *manual-flag*
|
|
||||||
(format #t "@findex ~A\n" *function-name*)
|
|
||||||
(format #t "@findex ~A\n" *c-function-name*))
|
|
||||||
(display "@end deffn\n"))))
|
(display "@end deffn\n"))))
|
||||||
|
|
||||||
(define (texi-quote s)
|
(define (texi-quote s)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue