guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-vm ChangeLog doc/Makefile.am vm/com...


From: Keisuke Nishida
Subject: guile/guile-vm ChangeLog doc/Makefile.am vm/com...
Date: Fri, 22 Sep 2000 10:38:51 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Keisuke Nishida <address@hidden>        00/09/22 10:38:50

Modified files:
        guile-vm       : ChangeLog 
        guile-vm/doc   : Makefile.am 
        guile-vm/vm    : compile.scm 
Added files:
        guile-vm/doc   : guile-vm.texi 
Removed files:
        guile-vm/doc   : vm-spec.txt 

Log message:
        ChangeLog

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-vm/ChangeLog.diff?r1=1.11&r2=1.12
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-vm/doc/guile-vm.texi.diff?r1=NONE&r2=1.1
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-vm/doc/Makefile.am.diff?r1=1.1.1.1&r2=1.2
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-vm/doc/vm-spec.txt.diff?r1=1.1.1.1&r2=NONE
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-vm/vm/compile.scm.diff?r1=1.2&r2=1.3

Patches:
Index: guile/guile-vm/ChangeLog
diff -u guile/guile-vm/ChangeLog:1.11 guile/guile-vm/ChangeLog:1.12
--- guile/guile-vm/ChangeLog:1.11       Fri Sep 22 04:08:28 2000
+++ guile/guile-vm/ChangeLog    Fri Sep 22 10:38:49 2000
@@ -1,5 +1,9 @@
 2000-09-22  Keisuke Nishida  <address@hidden>
 
+       * src/vm.c: SCM_CHARS -> SCM_SYMBOL_CHARS.
+
+2000-09-22  Keisuke Nishida  <address@hidden>
+
        * src/vm_system.c (call): Call return-hook before reinstating a
        continuation.
        (tail_call): Call return-hook before a proper tail call.
Index: guile/guile-vm/doc/Makefile.am
diff -u guile/guile-vm/doc/Makefile.am:1.1 guile/guile-vm/doc/Makefile.am:1.2
--- guile/guile-vm/doc/Makefile.am:1.1  Tue Aug 22 08:54:19 2000
+++ guile/guile-vm/doc/Makefile.am      Fri Sep 22 10:38:50 2000
@@ -1,2 +1,2 @@
-EXTRA_DIST = vm-spec.txt
+texi_TEXINFOS = guile-vm.texi
 MAINTAINERCLEANFILES = Makefile.in
Index: guile/guile-vm/vm/compile.scm
diff -u guile/guile-vm/vm/compile.scm:1.2 guile/guile-vm/vm/compile.scm:1.3
--- guile/guile-vm/vm/compile.scm:1.2   Tue Aug 22 11:44:19 2000
+++ guile/guile-vm/vm/compile.scm       Fri Sep 22 10:38:50 2000
@@ -54,8 +54,8 @@
            (format #t ";;; Compiled from ~A\n\n" file)
            (display "(use-modules (vm vm))\n\n")
            (display "(let ((vm (make-vm)))\n")
-           (display "  (define (vm-exec code)\n")
-           (display "    (vm-run vm (make-program (make-bytecode code) 
#f)))\n")
+           (display "(define (vm-exec code)")
+           (display "(vm-run vm (make-program (make-bytecode code) #f)))\n")
            (do ((input (read) (read)))
                ((eof-object? input))
              (display "(vm-exec ")
@@ -242,7 +242,8 @@
   '(caar cadr cdar cddr caaar caadr cadar caddr cdaar cdadr cddar cdddr
         caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr
         cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr
-        map for-each))
+        ;;map for-each
+        ))
 
 (define (parse-caar args env) (parse `(car (car ,@args)) env))
 (define (parse-cadr args env) (parse `(car (cdr ,@args)) env))
@@ -275,32 +276,32 @@
 (define (parse-cdddar args env) (parse `(cdr (cdr (cdr (car ,@args)))) env))
 (define (parse-cddddr args env) (parse `(cdr (cdr (cdr (cdr ,@args)))) env))
 
-(define (parse-map args env)
-  (check-nargs args >= 2)
-  (case (length args)
-    ((2)
-     (let ((proc (car args)) (list (cadr args)))
-       (parse `(let ((list ,list) (result '()))
-                (until (null? list)
-                  (local-set! result (cons (,proc (car list)) result))
-                  (local-set! list (cdr list)))
-                (reverse! result))
-             env)))
-    (else
-     (error "Not implemented yet"))))
-
-(define (parse-for-each args env)
-  (check-nargs args >= 2)
-  (case (length args)
-    ((2)
-     (let ((proc (car args)) (list (cadr args)))
-       (parse `(let ((list ,list))
-                (until (null? list)
-                  (,proc (car list))
-                  (local-set! list (cdr list))))
-             env)))
-    (else
-     (error "Not implemented yet"))))
+;(define (parse-map args env)
+;  (check-nargs args >= 2)
+;  (case (length args)
+;    ((2)
+;     (let ((proc (car args)) (list (cadr args)))
+;      (parse `(let ((list ,list) (result '()))
+;                (until (null? list)
+;                  (local-set! result (cons (,proc (car list)) result))
+;                  (local-set! list (cdr list)))
+;                (reverse! result))
+;             env)))
+;    (else
+;     (error "Not implemented yet"))))
+;
+;(define (parse-for-each args env)
+;  (check-nargs args >= 2)
+;  (case (length args)
+;    ((2)
+;     (let ((proc (car args)) (list (cadr args)))
+;      (parse `(let ((list ,list))
+;                (until (null? list)
+;                  (,proc (car list))
+;                  (local-set! list (cdr list))))
+;             env)))
+;    (else
+;     (error "Not implemented yet"))))
 
 (define *procedure-alist*
   (map (lambda (name)
>From address@hidden  Fri Sep 22 08:59:22 2000
Received: from subversions.gnu.org (subversions.gnu.org [198.186.203.17])
        by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id IAA31161
        for <address@hidden>; Fri, 22 Sep 2000 08:59:03 -0400
Received: from ossau by subversions.gnu.org with local (Exim 3.12 #1 (Debian))
        id 13cSPs-0005ey-00; Fri, 22 Sep 2000 05:59:00 -0700
To: address@hidden
Subject: guile/guile-doc/ref scheme.texi ChangeLog
Reply-to: Neil Jerram <address@hidden>
Message-Id: <address@hidden>
From: Neil Jerram <address@hidden>
Date: Fri, 22 Sep 2000 05:59:00 -0700
Sender: address@hidden
Errors-To: address@hidden
X-BeenThere: address@hidden
X-Mailman-Version: 2.0beta6
Precedence: bulk
List-Help: <mailto:address@hidden>
List-Post: <mailto:address@hidden>
List-Subscribe: <http://mail.gnu.org/mailman/listinfo/guile-cvs>, 
<mailto:address@hidden>
List-Id: <guile-cvs.gnu.org>
List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/guile-cvs>, 
<mailto:address@hidden>
List-Archive: http://mail.gnu.org/pipermail/guile-cvs/

CVSROOT:        /cvs
Module name:    guile
Changes by:     Neil Jerram <address@hidden>    00/09/22 05:59:00

Modified files:
        guile-doc/ref  : scheme.texi ChangeLog 

Log message:
        * Lots more docstrings added and synchronized with libguile source.

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-doc/ref/scheme.texi.diff?r1=1.52&r2=1.53
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-doc/ref/ChangeLog.diff?r1=1.66&r2=1.67

Patches:
Index: guile/guile-doc/ref/ChangeLog
diff -u guile/guile-doc/ref/ChangeLog:1.66 guile/guile-doc/ref/ChangeLog:1.67
--- guile/guile-doc/ref/ChangeLog:1.66  Fri Aug 25 10:26:16 2000
+++ guile/guile-doc/ref/ChangeLog       Fri Sep 22 05:59:00 2000
@@ -1,3 +1,39 @@
+2000-09-22  Neil Jerram  <address@hidden>
+
+       * scheme.texi: Lots more docstring comments added, and docs
+       synchronized with libguile source.
+       (interaction-environment, make-struct, make-vtable-vtable): Newer,
+       better doc taken from source file.
+       (cons-source): New docstring written.
+       (Vectors): New section added.
+       (Random, Symbols and Variables): New chapters.
+       
+       * posix.texi: Lots more docstring comments added.
+       (pipe, tzset) Newer, better documentation taken from source file.
+       
+       * deprecated.texi: New file, for documenting features that are
+       deprecated and so planned to disappear.
+
+       * guile.texi (Procedures, Reading and Writing, Random, Sorting,
+       Symbols and Variables, Deprecated): New chapters in the Scheme
+       part of the reference manual, to hold docstrings that don't
+       currently fit anywhere else.
+
+2000-08-28  Neil Jerram  <address@hidden>
+
+       * posix.texi (Pipes): open-pipe and close-pipe are procedures (in
+       ice-9/popen.scm), not primitives.
+
+       * scheme.texi (Generic Port Operations): Remove doc for
+       port-revealed and set-port-revealed!, since these are covered in
+       posix.texi.
+
+       * posix.texi: Inserted docstring synchronization comments and
+       synchronized docstrings for all primitives defined in posix.c,
+       simpos.c, scmsigs.c, stime.c.
+       (Ports and File Descriptors) Similarly synchronized port-revealed
+       and set-port-revealed!.
+       
 2000-08-25  Neil Jerram  <address@hidden>
 
        * scheme.texi: Lots more docstrings added.
Index: guile/guile-doc/ref/scheme.texi
diff -u guile/guile-doc/ref/scheme.texi:1.52 
guile/guile-doc/ref/scheme.texi:1.53
--- guile/guile-doc/ref/scheme.texi:1.52        Fri Aug 25 10:26:16 2000
+++ guile/guile-doc/ref/scheme.texi     Fri Sep 22 05:58:59 2000
@@ -561,6 +561,12 @@
 @end deffn
 @c end
 
address@hidden docstring begin (c-doc-string "throw.c" "lazy-catch")
address@hidden docstring md5 "6610205be1694688b362a2ffe3f57528"
address@hidden primitive lazy-catch tag thunk handler
+
address@hidden deffn
+
 It is traditional in Scheme to implement exception systems using
 @code{call-with-current-continuation}, but his has not been done, for
 performance reasons.  The implementation of
@@ -713,9 +719,13 @@
 @end deffn
 
 @c docstring begin (c-doc-string "modules.c" "interaction-environment")
address@hidden docstring md5 "71c1f0cddb6ff8139ad3fbf29af205f0"
address@hidden docstring md5 "0c735dd5a7fa6d0c947b9916a6365a8e"
 @deffn primitive interaction-environment
-This procedure returns a specifier for the environment thatcontains 
implementation-defined bindings, typically a superset ofthose listed in the 
report.  The intent is that this procedurewill return the environment in which 
the implementation wouldevaluate expressions dynamically typed by the user.
+This procedure returns a specifier for the environment that contains
+implementation-defined bindings, typically a superset of those listed in
+the report.  The intent is that this procedure will return the
+environment in which the implementation would evaluate expressions
+dynamically typed by the user.
 @end deffn
 
 Some modules are included in the Guile distribution; here are references
@@ -1031,9 +1041,11 @@
 @end deffn
 
 @c docstring begin (c-doc-string "eval.c" "cons-source")
address@hidden docstring md5 "4d37da7bf9d30dcb7bb546634de93874"
address@hidden docstring md5 "1b57e02f8bf28c52492bca637b64615a"
 @deffn primitive cons-source xorig x 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
+with the new pair.
 @end deffn
 
 @c ARGFIXME environment/environment specifier
@@ -1475,6 +1487,7 @@
 * Structures::
 * Arrays::
 * Association Lists and Hash Tables::
+* Vectors::
 @end menu
 
 @node Records
@@ -1725,6 +1738,8 @@
 name is a string of type and protection codes.  To create a new
 structure layout, use this procedure:
 
address@hidden docstring begin (c-doc-string "struct.c" "make-struct-layout")
address@hidden docstring md5 "3db9fa14eec939642d6915c37115a9bf"
 @deffn primitive make-struct-layout fields
 Return a new structure layout object.
 
@@ -1732,7 +1747,7 @@
 strung together.  The first character of each pair describes a field
 type, the second a field protection.  Allowed types are 'p' for
 GC-protected Scheme data, 'u' for unprotected binary data, and 's' for
-fields that should point to the structure itself.    Allowed protections
+a field that points to the structure itself.    Allowed protections
 are 'w' for mutable fields, 'r' for read-only fields, and 'o' for opaque 
 fields.  The last field protection specification may be capitalized to
 indicate that the field is a tail-array.
@@ -1746,7 +1761,9 @@
 This section describes the basic procedures for creating and accessing
 structures.
 
address@hidden primitive make-struct type tail-elts . inits
address@hidden docstring begin (c-doc-string "struct.c" "make-struct")
address@hidden docstring md5 "faf2cbc82f2fc9386cc47a8c1da462f5"
address@hidden primitive make-struct vtable tail_array_size . init
 Create a new structure.
 
 @var{type} must be a vtable structure (@xref{Vtables}).
@@ -1754,20 +1771,36 @@
 @var{tail-elts} must be a non-negative integer.  If the layout
 specification indicated by @var{type} includes a tail-array,
 this is the number of elements allocated to that array.
+
+The @var{init1}, @dots{} are optional arguments describing how
+successive fields of the structure should be initialized.  Only fields
+with protection 'r' or 'w' can be initialized, except for fields of
+type 's', which are automatically initialized to point to the new
+structure itself; fields with protection 'o' can not be initialized by
+Scheme programs.
+
+If fewer optional arguments than initializable fields are supplied,
+fields of type 'p' get default value #f while fields of type 'u' are
+initialized to 0.
 
-The @var{inits} are optional arguments describing how successive fields
-of the structure should be initialized.  Only fields with protection 'r'
-or 'w' can be initialized -- fields of protection 's' are automatically
-initialized to point to the new structure itself;  fields of protection 'o'
-can not be initialized by Scheme programs.
+Structs are currently the basic representation for record-like data
+structures in Guile.  The plan is to eventually replace them with a
+new representation which will at the same time be easier to use and
+more powerful.
+
+For more information, see the documentation for @code{make-vtable-vtable}.
 @end deffn
 
address@hidden primitive struct? obj
-Return #t iff @var{obj} is a structure object.
address@hidden docstring begin (c-doc-string "struct.c" "struct?")
address@hidden docstring md5 "976e05af8eccb70cacd9d9e3b7bb05ef"
address@hidden primitive struct? x
+Return #t iff @var{obj} is a structure object, else #f.
 @end deffn
 
 
address@hidden primitive struct-ref struct n
address@hidden docstring begin (c-doc-string "struct.c" "struct-ref")
address@hidden docstring md5 "eccf89dbedea2b9c3befdf233973539e"
address@hidden primitive struct-ref handle pos
 @deffnx primitive struct-set! struct n value
 Access (or modify) the @var{n}th field of @var{struct}.
 
@@ -1790,11 +1823,15 @@
 @code{vtable-offset-user} is bound to a field number.  Vtable fields
 at that position or greater are user definable.
 
address@hidden primitive struct-vtable struct
address@hidden docstring begin (c-doc-string "struct.c" "struct-vtable")
address@hidden docstring md5 "8fd40f6d2276ae117f3784982ac49cf7"
address@hidden primitive struct-vtable handle
 Return the vtable structure that describes the type of @var{struct}.
 @end deffn
 
address@hidden primitive struct-vtable? obj
address@hidden docstring begin (c-doc-string "struct.c" "struct-vtable?")
address@hidden docstring md5 "1dbf6a3ad479dd61df1f612faf4a8215"
address@hidden primitive struct-vtable? x
 Return #t iff obj is a vtable structure.
 @end deffn
 
@@ -1806,74 +1843,87 @@
 that @code{V} is an instance of the type it itself describes.  Vtable
 structures of the second sort are created by this procedure:
 
address@hidden primitive make-vtable-vtable new-fields tail-size . inits
address@hidden docstring begin (c-doc-string "struct.c" "make-vtable-vtable")
address@hidden docstring md5 "3e04c26524387b173f78e1bd8d4a3986"
address@hidden primitive make-vtable-vtable user_fields tail_array_size . init
 Return a new, self-describing vtable structure.
 
address@hidden is a layout specification describing fields
-of the resulting structure beginning at the position bound to
address@hidden
address@hidden is a string describing user defined fields of the
+vtable beginning at index @code{vtable-offset-user}
+(see @code{make-struct-layout}).
 
 @var{tail-size} specifies the size of the tail-array (if any) of
 this vtable.
 
address@hidden initializes the fields of the vtable.  Minimally, one
-initializer must be provided: the layout specification for instances
-of the type this vtable will describe.  If a second initializer is
-provided, it will be interpreted as a print call-back function.
address@hidden, @dots{} are the optional initializers for the fields of
+the vtable.
 
address@hidden
-;;; loading ,a...
-(define x
-  (make-vtable-vtable (make-struct-layout (quote pw))
-                      0
-                      'foo))
+Vtables have one initializable system field---the struct printer.
+This field comes before the user fields in the initializers passed
+to @code{make-vtable-vtable} and @code{make-struct}, and thus works as
+a third optional argument to @code{make-vtable-vtable} and a fourth to
address@hidden when creating vtables:
 
-(struct? x)
address@hidden #t
-(struct-vtable? x)
address@hidden #t
-(eq? x (struct-vtable x))
address@hidden #t
-(struct-ref x vtable-offset-user)
address@hidden foo
-(struct-ref x 0)
address@hidden pruosrpwpw
+If the value is a procedure, it will be called instead of the standard
+printer whenever a struct described by this vtable is printed.
+The procedure will be called with arguments STRUCT and PORT.
 
+The structure of a struct is described by a vtable, so the vtable is
+in essence the type of the struct.  The vtable is itself a struct with
+a vtable.  This could go on forever if it weren't for the
+vtable-vtables which are self-describing vtables, and thus terminate
+the chain.
 
-(define y
-  (make-struct x
-               0
-               (make-struct-layout (quote pwpwpw))
-               'bar))
+There are several potential ways of using structs, but the standard
+one is to use three kinds of structs, together building up a type
+sub-system: one vtable-vtable working as the root and one or several
+"types", each with a set of "instances".  (The vtable-vtable should be
+compared to the class <class> which is the class of itself.)
 
-(struct? y)
address@hidden #t
-(struct-vtable? y)
address@hidden #t
-(eq? x y)
address@hidden ()
-(eq? x (struct-vtable y))
address@hidden #t
-(struct-ref y 0)
address@hidden pwpwpw
-(struct-ref y vtable-offset-user)
address@hidden bar
address@hidden
+(define ball-root (make-vtable-vtable "pr" 0))
 
+(define (make-ball-type ball-color)
+  (make-struct ball-root 0
+              (make-struct-layout "pw")
+               (lambda (ball port)
+                 (format port "#<a ~A ball owned by ~A>"
+                         (color ball)
+                         (owner ball)))
+               ball-color))
+(define (color ball) (struct-ref (struct-vtable ball) vtable-offset-user))
+(define (owner ball) (struct-ref ball 0))
 
-(define z (make-struct y 0 'a 'b 'c))
+(define red (make-ball-type 'red))
+(define green (make-ball-type 'green))
 
-(struct? z)
address@hidden #t
-(struct-vtable? z)
address@hidden ()
-(eq? y (struct-vtable z))
address@hidden #t
-(map (lambda (n) (struct-ref z n)) '(0 1 2))
address@hidden (a b c)
+(define (make-ball type owner) (make-struct type 0 owner))
+
+(define ball (make-ball green 'Nisse))
+ball @result{} #<a green ball owned by Nisse>
 @end example
 
 @end deffn
 
address@hidden docstring begin (c-doc-string "struct.c" "struct-vtable-name")
address@hidden docstring md5 "da448bf82cdb7504a8f0d160a040d0ba"
address@hidden primitive struct-vtable-name vtable
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "struct.c" 
"set-struct-vtable-name!")
address@hidden docstring md5 "f896da3fe6202dcdcd2c14933135ba07"
address@hidden primitive set-struct-vtable-name! vtable name
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "struct.c" "struct-vtable-tag")
address@hidden docstring md5 "627dc539d0b8a22545fa904434cb21b2"
address@hidden primitive struct-vtable-tag handle
+
address@hidden deffn
+
+
 @page
 @node Arrays
 @section Arrays
@@ -1928,7 +1978,9 @@
 
 The following procedures can be used with conventional arrays (or vectors).
 
address@hidden primitive array? obj [prototype]
address@hidden docstring begin (c-doc-string "unif.c" "array?")
address@hidden docstring md5 "d222507378723f16fee9ef538bcdf41e"
address@hidden primitive array? v [prot]
 Returns @code{#t} if the @var{obj} is an array, and @code{#f} if not.
 
 The @var{prototype} argument is used with uniform arrays and is described
@@ -1943,20 +1995,30 @@
 @c array-ref's type is `compiled-closure'.  There's some weird stuff
 @c going on in array.c, too.  Let's call it a primitive. -twp
 
address@hidden primitive array-ref array index1 index2 @dots{}
address@hidden docstring begin (c-doc-string "unif.c" "uniform-vector-ref")
address@hidden docstring md5 "322d9d2c70fba5b618aa7ac0bab4622d"
address@hidden primitive uniform-vector-ref v args
address@hidden primitive array-ref v . args
 Returns the element at the @code{(index1, index2)} element in @var{array}.
 @end deffn
 
address@hidden primitive array-in-bounds? array index1 index2 @dots{}
address@hidden docstring begin (c-doc-string "unif.c" "array-in-bounds?")
address@hidden docstring md5 "7993315fd76aaa61aaf1878f69aea131"
address@hidden primitive array-in-bounds? v . args
 Returns @code{#t} if its arguments would be acceptable to array-ref.
 @end deffn
 
address@hidden primitive array-set! array new-value index1 index2 @dots{}
address@hidden docstring begin (c-doc-string "unif.c" "array-set!")
address@hidden docstring md5 "717e43270963f93d595c962357f42eea"
address@hidden primitive array-set! v obj . args
address@hidden primitive uniform-array-set1! v obj args
 Sets the element at the @code{(index1, index2)} element in @var{array} to
 @var{new-value}.  The value returned by array-set! is unspecified.
 @end deffn
 
address@hidden primitive make-shared-array array mapper bound1 bound2 @dots{}
address@hidden docstring begin (c-doc-string "unif.c" "make-shared-array")
address@hidden docstring md5 "7fec65aa8a76540efb40fd0bb41b7bd8"
address@hidden primitive make-shared-array oldra mapfunc . dims
 @code{make-shared-array} can be used to create shared subarrays of other
 arrays.  The @var{mapper} is a function that translates coordinates in
 the new array into coordinates in the old array.  A @var{mapper} must be
@@ -1973,8 +2035,28 @@
 (array-ref freds-center 0 0) @result{} foo
 @end example
 @end deffn
+
address@hidden docstring begin (c-doc-string "unif.c" "shared-array-increments")
address@hidden docstring md5 "8285365ea9b2e4171c5b3517e4ae063a"
address@hidden primitive shared-array-increments ra
+For each dimension, return the distance between elements in the root vector.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "unif.c" "shared-array-offset")
address@hidden docstring md5 "9ddd2e75d82e4ae850e6476adb4daa73"
address@hidden primitive shared-array-offset ra
+Return the root vector index of the first element in the array.
address@hidden deffn
 
address@hidden primitive transpose-array array dim0 dim1 @dots{}
address@hidden docstring begin (c-doc-string "unif.c" "shared-array-root")
address@hidden docstring md5 "e1bfbe3d85d1cbad0df94d52ce7adbff"
address@hidden primitive shared-array-root ra
+Return the root vector of a shared array.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "unif.c" "transpose-array")
address@hidden docstring md5 "efd6ca08cca40b2d259da5dce64cc410"
address@hidden primitive transpose-array ra . args
 Returns an array sharing contents with @var{array}, but with dimensions
 arranged in a different order.  There must be one @var{dim} argument for
 each dimension of @var{array}.  @var{dim0}, @var{dim1}, @dots{} should
@@ -1996,7 +2078,9 @@
 @end example
 @end deffn
 
address@hidden primitive enclose-array array dim0 dim1 @dots{}
address@hidden docstring begin (c-doc-string "unif.c" "enclose-array")
address@hidden docstring md5 "76273492668070ba292ca6372100ab73"
address@hidden primitive enclose-array ra . axes
 @var{dim0}, @var{dim1} @dots{} should be nonnegative integers less than
 the rank of @var{array}.  @var{enclose-array} returns an array
 resembling an array of shared arrays.  The dimensions of each shared
@@ -2027,7 +2111,9 @@
 @end example
 @end deffn
 
address@hidden primitive array-dimensions array
address@hidden docstring begin (c-doc-string "unif.c" "array-dimensions")
address@hidden docstring md5 "fd28f6a64ba7ecb468d2e5582f2ac3ab"
address@hidden primitive array-dimensions ra
 @code{Array-dimensions} is similar to @code{array-shape} but replaces
 elements with a @code{0} minimum with one greater than the maximum. So:
 @example
@@ -2035,32 +2121,39 @@
 @end example
 @end deffn
 
address@hidden primitive array-rank obj
address@hidden docstring begin (c-doc-string "unif.c" "array-rank")
address@hidden docstring md5 "02fe9bf3336946ee2442583fbdf571d0"
address@hidden primitive array-rank ra
 Returns the number of dimensions of @var{obj}.  If @var{obj} is not an
 array, @code{0} is returned.
 @end deffn
 
address@hidden primitive array->list array
address@hidden docstring begin (c-doc-string "unif.c" "array->list")
address@hidden docstring md5 "a54ba48675553a2bd5f6c99669be0c1c"
address@hidden primitive array->list v
 Returns a list consisting of all the elements, in order, of @var{array}.
 @end deffn
 
address@hidden primitive array-copy! source destination
address@hidden docstring begin (c-doc-string "ramap.c" "array-copy!")
address@hidden docstring md5 "8d7ebc78c36c9270799dc32457fd1602"
address@hidden primitive array-copy! src dst
address@hidden primitive array-copy-in-order! src dst
 Copies every element from vector or array @var{source} to the
 corresponding element of @var{destination}.  @var{destination} must have
 the same rank as @var{source}, and be at least as large in each
 dimension.  The order is unspecified.
 @end deffn
 
address@hidden primitive serial-array-copy! source destination
-Same as @code{array-copy!} but guaranteed to copy in row-major order.
address@hidden deffn
-
address@hidden primitive array-fill! array fill
address@hidden docstring begin (c-doc-string "ramap.c" "array-fill!")
address@hidden docstring md5 "dd87dd766aa737b361441395ecbd6c69"
address@hidden primitive array-fill! ra fill
 Stores @var{fill} in every element of @var{array}.  The value returned
 is unspecified.
 @end deffn
 
address@hidden primitive array-equal? array0 array1 @dots{}
address@hidden docstring begin (c-doc-string "ramap.c" "array-equal?")
address@hidden docstring md5 "d64086021f3d75c41f34bb8f76c76f40"
address@hidden primitive array-equal? ra0 ra1
 Returns @code{#t} iff all arguments are arrays with the same shape, the
 same type, and have corresponding elements which are either
 @code{equal?}  or @code{array-equal?}.  This function differs from
@@ -2068,7 +2161,9 @@
 @var{array-equal?} but not @var{equal?} to a vector or uniform vector.
 @end deffn
 
address@hidden primitive array-contents array
address@hidden docstring begin (c-doc-string "unif.c" "array-contents")
address@hidden docstring md5 "a4bacdebe2242fbd93c93db598c60dbe"
address@hidden primitive array-contents ra [strict]
 @deffnx primitive array-contents array strict
 If @var{array} may be @dfn{unrolled} into a one dimensional shared array
 without changing their order (last subscript changing fastest), then
@@ -2085,7 +2180,10 @@
 @node Array Mapping
 @subsection Array Mapping
 
address@hidden primitive array-map! array0 proc array1 @dots{}
address@hidden docstring begin (c-doc-string "ramap.c" "array-map!")
address@hidden docstring md5 "faa97c2e17651ead613160720249fbdf"
address@hidden primitive array-map! ra0 proc . lra
address@hidden primitive array-map-in-order! ra0 proc . lra
 @var{array1}, @dots{} must have the same number of dimensions as
 @var{array0} and have a range for each index which includes the range
 for the corresponding index in @var{array0}.  @var{proc} is applied to
@@ -2093,18 +2191,17 @@
 as the corresponding element in @var{array0}.  The value returned is
 unspecified.  The order of application is unspecified.
 @end deffn
-
address@hidden primitive serial-array-map! array0 proc array1 @dots{}
-Same as @var{array-map!}, but guaranteed to apply @var{proc} in
-row-major order.
address@hidden deffn
 
address@hidden primitive array-for-each proc array0 @dots{}
address@hidden docstring begin (c-doc-string "ramap.c" "array-for-each")
address@hidden docstring md5 "72be972b3f18aa272fe6633d72ffced7"
address@hidden primitive array-for-each proc ra0 . lra
 @var{proc} is applied to each tuple of elements of @var{array0} @dots{}
 in row-major order.  The value returned is unspecified.
 @end deffn
 
address@hidden primitive array-index-map! array proc
address@hidden docstring begin (c-doc-string "ramap.c" "array-index-map!")
address@hidden docstring md5 "9633e61c5b183e30102a3ed8fe523588"
address@hidden primitive array-index-map! ra proc
 applies @var{proc} to the indices of each element of @var{array} in
 turn, storing the result in the corresponding element.  The value
 returned and the order of application are unspecified.
@@ -2181,12 +2278,13 @@
 @code{#} and @code{(}.  For example, a uniform vector of signed
 long integers is displayed in the form @code{'#e(3 5 9)}.
 
address@hidden primitive array? obj [prototype]
-Returns @code{#t} if the @var{obj} is an array of type corresponding to
address@hidden, and @code{#f} if not.
address@hidden docstring begin (c-doc-string "unif.c" "array?")
address@hidden docstring md5 "d222507378723f16fee9ef538bcdf41e"
address@hidden primitive array? v [prot]
+Returns @code{#t} if the @var{obj} is an array, and @code{#f} if not.
 
-If @var{prototype} is omitted, @code{#t} will be returned if @var{obj}
-is an array of any type.
+The @var{prototype} argument is used with uniform arrays and is described
+elsewhere.
 @end deffn
 
 @deffn procedure make-uniform-array prototype bound1 bound2 @dots{}
@@ -2195,13 +2293,17 @@
 and fills it with @var{prototype}.
 @end deffn
 
address@hidden primitive array-prototype array
address@hidden docstring begin (c-doc-string "unif.c" "array-prototype")
address@hidden docstring md5 "28e904ac048755689a5362d51f9320a1"
address@hidden primitive array-prototype ra
 Returns an object that would produce an array of the same type as
 @var{array}, if used as the @var{prototype} for
 @code{make-uniform-array}.
 @end deffn
 
address@hidden primitive list->uniform-array rank prot lst
address@hidden docstring begin (c-doc-string "unif.c" "list->uniform-array")
address@hidden docstring md5 "4bcbb04a4c3f9e163ac8a0f5728211be"
address@hidden primitive list->uniform-array ndim prot lst
 @deffnx procedure list->uniform-vector prot lst
 Returns a uniform array of the type indicated by prototype @var{prot}
 with elements the same as those of @var{lst}.  Elements must be of the
@@ -2213,11 +2315,15 @@
 unspecified.
 @end deffn
 
address@hidden primitive uniform-vector-length uve
address@hidden docstring begin (c-doc-string "unif.c" "uniform-vector-length")
address@hidden docstring md5 "4ffaf3c32742e8d0b022870193f456ab"
address@hidden primitive uniform-vector-length v
 Returns the number of elements in @var{uve}.
 @end deffn
 
address@hidden primitive dimensions->uniform-array dims prototype [fill]
address@hidden docstring begin (c-doc-string "unif.c" 
"dimensions->uniform-array")
address@hidden docstring md5 "a722928e35fa1c7c17dc61826cd57aea"
address@hidden primitive dimensions->uniform-array dims prot [fill]
 @deffnx primitive make-uniform-vector length prototype [fill]
 Creates and returns a uniform array or vector of type corresponding to
 @var{prototype} with dimensions @var{dims} or length @var{length}.  If
@@ -2227,7 +2333,9 @@
 
 @c Another compiled-closure. -twp
 
address@hidden primitive uniform-array-read! ura [port-or-fdes] [start] [end]
address@hidden docstring begin (c-doc-string "unif.c" "uniform-array-read!")
address@hidden docstring md5 "1a1d6c2a8c40494ca2549a9b1599eac0"
address@hidden primitive uniform-array-read! ra [port_or_fd [start [end]]]
 @deffnx primitive uniform-vector-read! uve [port-or-fdes] [start] [end]
 Attempts to read all elements of @var{ura}, in lexicographic order, as
 binary objects from @var{port-or-fdes}.
@@ -2245,7 +2353,9 @@
 returned by @code{(current-input-port)}.
 @end deffn
 
address@hidden primitive uniform-array-write ura [port-or-fdes] [start] [end]
address@hidden docstring begin (c-doc-string "unif.c" "uniform-array-write")
address@hidden docstring md5 "ef18434cfde294dd87570889a0d78b3c"
address@hidden primitive uniform-array-write v [port_or_fd [start [end]]]
 @deffnx primitive uniform-vector-write uve [port-or-fdes] [start] [end]
 Writes all elements of @var{ura} as binary objects to
 @var{port-or-fdes}.
@@ -2279,21 +2389,29 @@
 #*101
 @end example
 
address@hidden primitive bit-count bool bv
-Returns the number occurrences of @var{bool} in @var{bv}.
address@hidden docstring begin (c-doc-string "unif.c" "bit-count")
address@hidden docstring md5 "e6cef746c6e6e7441626829c22c9f202"
address@hidden primitive bit-count b bitvector
+Returns the number of occurrences of the boolean B in BITVECTOR.
 @end deffn
 
address@hidden primitive bit-position bool bv k
address@hidden docstring begin (c-doc-string "unif.c" "bit-position")
address@hidden docstring md5 "6b6f07226ca76c04fb5a18a06d48d87a"
address@hidden primitive bit-position item v k
 Returns the minimum index of an occurrence of @var{bool} in @var{bv}
 which is at least @var{k}.  If no @var{bool} occurs within the specified
 range @code{#f} is returned.
 @end deffn
 
address@hidden primitive bit-invert! bv
address@hidden docstring begin (c-doc-string "unif.c" "bit-invert!")
address@hidden docstring md5 "f016fcaf48ed8ff7ca3374058c468c29"
address@hidden primitive bit-invert! v
 Modifies @var{bv} by replacing each element with its negation.
 @end deffn
 
address@hidden primitive bit-set*! bv uve bool
address@hidden docstring begin (c-doc-string "unif.c" "bit-set*!")
address@hidden docstring md5 "b3bd23c681fd0f2f29cbd3d1d7280371"
address@hidden primitive bit-set*! v kv obj
 If uve is a bit-vector @var{bv} and uve must be of the same length.  If
 @var{bool} is @code{#t}, uve is OR'ed into @var{bv}; If @var{bool} is 
@code{#f}, the
 inversion of uve is AND'ed into @var{bv}.
@@ -2305,7 +2423,9 @@
 The return value is unspecified.
 @end deffn
 
address@hidden primitive bit-count* bv uve bool
address@hidden docstring begin (c-doc-string "unif.c" "bit-count*")
address@hidden docstring md5 "dcbb47c0a47faa3bc2430c2b39cfe7c5"
address@hidden primitive bit-count* v kv obj
 Returns
 @example
 (bit-count (bit-set*! (if bool bv (bit-invert! bv)) uve #t) #t).
@@ -3065,6 +3185,58 @@
 @end deffn
 
 
address@hidden Vectors
address@hidden Vectors
+
address@hidden docstring begin (c-doc-string "vectors.c" "make-vector")
address@hidden docstring md5 "bdaed77c90dab802b4105d5a57c07e6a"
address@hidden primitive make-vector k [fill]
+Returns a newly allocated vector of @var{k} elements.  If a second
+argument is given, then each element is initialized to @var{fill}.
+Otherwise the initial contents of each element is unspecified. (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "vectors.c" "vector")
address@hidden docstring md5 "6edbfae8a98921cc35dfe51dbc3e37de"
address@hidden primitive vector . l
address@hidden primitive list->vector l
+Returns a newly allocated vector whose elements contain the given
+arguments.  Analogous to @samp{list}. (r5rs)
+
address@hidden
address@hidden(vector 'a 'b 'c)                      ==>  #(a b c) }
address@hidden format
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "vectors.c" "vector->list")
address@hidden docstring md5 "d19c868ee96ca6ddd3d992bce83dd8bc"
address@hidden primitive vector->list v
address@hidden>list} returns a newly allocated list of the objects contained
+in the elements of @var{vector}.  (r5rs)
+
address@hidden
address@hidden(vector->list '#(dah dah didah))
+=>  (dah dah didah)
+list->vector '(dididit dah))
+=>  #(dididit dah)
+}
address@hidden format
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "vectors.c" "vector-fill!")
address@hidden docstring md5 "5d965812b248ee00159eb643307dc91f"
address@hidden primitive vector-fill! v fill_x
+Stores @var{fill} in every element of @var{vector}.
+The value returned by @samp{vector-fill!} is unspecified. (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "vectors.c" "vector?")
address@hidden docstring md5 "8f385d275eb2ebe494e2ef8d1b640c8e"
address@hidden primitive vector? obj
+Returns @t{#t} if @var{obj} is a vector, otherwise returns @t{#f}. (r5rs)
address@hidden deffn
+
+
 @page
 @node Booleans
 @chapter Booleans
@@ -3139,6 +3311,67 @@
 @node String Fun
 @section String Fun
 
address@hidden docstring begin (c-doc-string "strings.c" "string")
address@hidden docstring md5 "2f53a5b80913d6ffd1c96939701be94a"
address@hidden primitive string . chrs
address@hidden primitive list->string chrs
+Returns a newly allocated string composed of the arguments, CHRS.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strings.c" "make-string")
address@hidden docstring md5 "364c35c806265d290ea8eb804728b076"
address@hidden primitive make-string k [chr]
+Returns a newly allocated string of
+length K.  If CHR is given, then all elements of the string
+are initialized to CHR, otherwise the contents of the
+STRING are unspecified.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strings.c" "string-append")
address@hidden docstring md5 "747f06b456ca6ecdc45264b4b143e193"
address@hidden primitive string-append . args
+Returns a newly allocated string whose characters form the
+concatenation of the given strings, ARGS.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strings.c" "string-length")
address@hidden docstring md5 "cfc80bf95ce7bbf06727abc3c88cbfe2"
address@hidden primitive string-length string
+Returns the number of characters in STRING
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strings.c" "string-ref")
address@hidden docstring md5 "fade777137561f7d4716d2c227be1baf"
address@hidden primitive string-ref str k
+Returns character K of STR using zero-origin indexing.
+K must be a valid index of STR.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strings.c" "string-set!")
address@hidden docstring md5 "c6fe14c142bf763b97313158539fe5ad"
address@hidden primitive string-set! str k chr
+Stores CHR in element K of STRING and returns an unspecified value.
+K must be a valid index of STR.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strings.c" "string?")
address@hidden docstring md5 "b60e94a49a045e6e0378dd634f4bb808"
address@hidden primitive string? obj
+Returns #t iff OBJ is a string, else returns #f.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strings.c" "substring")
address@hidden docstring md5 "8f5239fb94a7d6cb396b11b6ddf16d95"
address@hidden primitive substring str start [end]
+Returns a newly allocated string formed from the characters
+of STR beginning with index START (inclusive) and ending with
+index END (exclusive).
+STR must be a string, START and END must be exact integers satisfying:
+
+0 <= START <= END <= (string-length STR).
address@hidden deffn
+
 @c docstring begin (c-doc-string "strop.c" "string-index")
 @c docstring md5 "4a4e4236fabe6f52d9941996dd21ff7d"
 @deffn primitive string-index str chr [frm [to]]
@@ -3188,8 +3421,10 @@
 @end deffn
 
 @c docstring begin (c-doc-string "strop.c" "substring-move!")
address@hidden docstring md5 "baaef71083170324992830663771f8c2"
address@hidden docstring md5 "f80c0be2b33dccd55252a5182c383845"
 @deffn primitive substring-move! str1 start1 end1 str2 start2
address@hidden primitive substring-move-left! str1 start1 end1 str2 start2
address@hidden primitive substring-move-right! str1 start1 end1 str2 start2
 Copy the substring of @var{str1} bounded by @var{start1} and @var{end1}
 into @var{str2} beginning at position @var{end2}.
 @code{substring-move-right!} begins copying from the rightmost character
@@ -3323,6 +3558,12 @@
 @end example
 @end deffn
 
address@hidden docstring begin (c-doc-string "strop.c" "string-upcase")
address@hidden docstring md5 "a2500d5c32e6017b7fae41f12e26e6a5"
address@hidden primitive string-upcase str
+Upcase every character in @code{str}.
address@hidden deffn
+
 @c ARGFIXME v/str
 @c docstring begin (c-doc-string "strop.c" "string-downcase!")
 @c docstring md5 "0f71eab3778d9e253efc882ccb264d07"
@@ -3343,6 +3584,135 @@
 @end example
 @end deffn
 
address@hidden docstring begin (c-doc-string "strop.c" "string-downcase")
address@hidden docstring md5 "28e159fc6d050890ca949b324a1b139d"
address@hidden primitive string-downcase str
+Downcase every character in @code{str}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strop.c" "string-capitalize!")
address@hidden docstring md5 "aa6b9e5705ef27c2b10d46beadc0cc57"
address@hidden primitive string-capitalize! str
+Destructively capitalize every character in @code{str}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strop.c" "string-capitalize")
address@hidden docstring md5 "cb858edc2b5c4d5556eaa471a6e5e8fb"
address@hidden primitive string-capitalize str
+Capitalize every character in @code{str}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string-ci<=?")
address@hidden docstring md5 "c83812f7247d7726394fbef12308ea0d"
address@hidden primitive string-ci<=? s1 s2
+Case insensitive lexicographic ordering predicate; 
+returns @t{#t} if @var{s1} is lexicographically less than
+or equal to @var{s2} regardless of case.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string-ci<?")
address@hidden docstring md5 "2f86df51b869ab0cf7c0c34278bc498f"
address@hidden primitive string-ci<? s1 s2
+Case insensitive lexicographic ordering predicate; 
+returns @t{#t} if @var{s1} is lexicographically less than
address@hidden regardless of case.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string-ci=?")
address@hidden docstring md5 "05d37e36168ea70cf2010bd006ae73e0"
address@hidden primitive string-ci=? s1 s2
+Case-insensitive string equality predicate; returns @t{#t} if
+the two strings are the same length and their component characters
+match (ignoring case) at each position; otherwise returns @t{#f}. (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string-ci>=?")
address@hidden docstring md5 "9836fce71d8674cabb71e503bf8fa7cc"
address@hidden primitive string-ci>=? s1 s2
+Case insensitive lexicographic ordering predicate; 
+returns @t{#t} if @var{s1} is lexicographically greater than
+or equal to @var{s2} regardless of case.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string-ci>?")
address@hidden docstring md5 "3ab2a7e37e6bf69bd42142541606b751"
address@hidden primitive string-ci>? s1 s2
+Case insensitive lexicographic ordering predicate; 
+returns @t{#t} if @var{s1} is lexicographically greater than
address@hidden regardless of case.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string<=?")
address@hidden docstring md5 "0a36616dc0f9de15c1c4f18aba18e7f9"
address@hidden primitive string<=? s1 s2
+Lexicographic ordering predicate; returns @t{#t} if @var{s1}
+is lexicographically less than or equal to @var{s2}.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string<?")
address@hidden docstring md5 "6a65f2fca17d4426cdbe739ad231b11b"
address@hidden primitive string<? s1 s2
+Lexicographic ordering predicate; returns @t{#t} if @var{s1}
+is lexicographically less than @var{s2}.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string=?")
address@hidden docstring md5 "debdbce480bf37ec8df40e20c41d2196"
address@hidden primitive string=? s1 s2
+Lexicographic equality predicate; 
+Returns @t{#t} if the two strings are the same length and contain the same
+characters in the same positions, otherwise returns @t{#f}. (r5rs)
+
address@hidden treats
+upper and lower case letters as though they were the same character, but
address@hidden treats upper and lower case as distinct characters.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string>=?")
address@hidden docstring md5 "08c53e5d367ff40e808e925df18eaf33"
address@hidden primitive string>=? s1 s2
+Lexicographic ordering predicate; returns @t{#t} if @var{s1}
+is lexicographically greater than or equal to @var{s2}.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strorder.c" "string>?")
address@hidden docstring md5 "feacc1341057fdbd2e77bade8aa05928"
address@hidden primitive string>? s1 s2
+Lexicographic ordering predicate; returns @t{#t} if @var{s1}
+is lexicographically greater than @var{s2}.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strop.c" "string->list")
address@hidden docstring md5 "4c24bb2b3800c4703c7a00d006cf03b8"
address@hidden primitive string->list str
address@hidden>list} returns a newly allocated list of the
+characters that make up the given string.  @samp{List->string}
+returns a newly allocated string formed from the characters in the list
address@hidden, which must be a list of characters. @samp{String->list}
+and @samp{list->string} are
+inverses so far as @samp{equal?} is concerned.  (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strop.c" "string-ci->symbol")
address@hidden docstring md5 "708b35f77793b85a7de4ced1db0b3da8"
address@hidden primitive string-ci->symbol str
+Return the symbol whose name is @var{str}, downcased in necessary(???).
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strop.c" "string-copy")
address@hidden docstring md5 "31f46473b889c18adf9876f7effef9c0"
address@hidden primitive string-copy str
+Returns a newly allocated copy of the given @var{string}. (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "strop.c" "string-fill!")
address@hidden docstring md5 "37da4038f6337a92dc72c755b0a9deaf"
address@hidden primitive string-fill! str chr
+Stores @var{char} in every element of the given @var{string} and returns an
+unspecified value.  (r5rs)
address@hidden deffn
+
+
 @node Shared Substrings
 @section Shared Substrings
 
@@ -3726,6 +4096,96 @@
 
 
 @page
address@hidden Procedures
address@hidden Procedures
+
address@hidden docstring begin (c-doc-string "procprop.c" 
"procedure-properties")
address@hidden docstring md5 "019f325969f292274ab9ec9143a091bb"
address@hidden primitive procedure-properties proc
+Return @var{obj}'s property list.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procprop.c" "procedure-property")
address@hidden docstring md5 "0e5f2a4f9971d500b107a90311842ebc"
address@hidden primitive procedure-property p k
+Return the property of @var{obj} with name @var{key}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procprop.c" 
"set-procedure-properties!")
address@hidden docstring md5 "e5208ff597af390eff37ebe8eb96a7a3"
address@hidden primitive set-procedure-properties! proc new_val
+Set @var{obj}'s property list to @var{alist}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procprop.c" 
"set-procedure-property!")
address@hidden docstring md5 "70e031772c1078ea8dbb21cddb30afb4"
address@hidden primitive set-procedure-property! p k v
+In @var{obj}'s property list, set the property named @var{key} to
address@hidden
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procs.c" "closure?")
address@hidden docstring md5 "662358b00013ac9c369c0fcfebf9db31"
address@hidden primitive closure? obj
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procs.c" 
"make-procedure-with-setter")
address@hidden docstring md5 "4d17f47850df45bd0b72f6b59634d8e2"
address@hidden primitive make-procedure-with-setter procedure setter
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procs.c" "procedure")
address@hidden docstring md5 "19d19de092f7748a13e2c32b8e7609c6"
address@hidden primitive procedure proc
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procs.c" "procedure-with-setter?")
address@hidden docstring md5 "ae193cffd4b795883a0c67147b2e5a8b"
address@hidden primitive procedure-with-setter? obj
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procs.c" "procedure?")
address@hidden docstring md5 "7455fc2160c5f4a91f1320e4e493bbfa"
address@hidden primitive procedure? obj
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "procs.c" "thunk?")
address@hidden docstring md5 "1eb9a507198e7b4f01fae9f61ccbcdd5"
address@hidden primitive thunk? obj
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "srcprop.c" 
"set-source-properties!")
address@hidden docstring md5 "7e1cd44e2527d5d4064ca871d3c26a7a"
address@hidden primitive set-source-properties! obj plist
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "srcprop.c" "set-source-property!")
address@hidden docstring md5 "1bea0557ab6a38583ac23876116d446e"
address@hidden primitive set-source-property! obj key datum
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "srcprop.c" "source-properties")
address@hidden docstring md5 "d7b76c5abe087afa422ec486ef106499"
address@hidden primitive source-properties obj
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "srcprop.c" "source-property")
address@hidden docstring md5 "493e9daf2ef5bc47151f2b661d9ac03e"
address@hidden primitive source-property obj key
+
address@hidden deffn
+
+
address@hidden
 @node Property Lists
 @chapter Property Lists
 
@@ -4283,39 +4743,6 @@
 The return value is unspecified.
 @end deffn
 
address@hidden docstring begin (c-doc-string "ports.c" "port-mode")
address@hidden docstring md5 "cbcb46422ab6eb230fd54bb014026d79"
address@hidden primitive port-mode port
-Returns the port modes associated with the open port @var{port}.  These
-will not necessarily be identical to the modes used when the port was
-opened, since modes such as "append" which are used only during
-port creation are not retained.
address@hidden deffn
-
address@hidden docstring begin (c-doc-string "ports.c" "close-all-ports-except")
address@hidden docstring md5 "cc236f9737a0e718d33eb00106cd33f9"
address@hidden primitive close-all-ports-except . ports
-Close all open file ports used by the interpreter
-except for those supplied as arguments.  This procedure
-is intended to be used before an exec call to close file descriptors
-which are not needed in the new process.
address@hidden deffn
-
address@hidden docstring begin (c-doc-string "fports.c" "setvbuf")
address@hidden docstring md5 "5395a53e279959cd6b364a3411887c0b"
address@hidden primitive setvbuf port mode [size]
-Set the buffering mode for @var{port}.  @var{mode} can be:
address@hidden @code
address@hidden _IONBF
-non-buffered
address@hidden _IOLBF
-line buffered
address@hidden _IOFBF
-block buffered, using a newly allocated buffer of @var{size} bytes.
-If @var{size} is omitted, a default size will be used.
address@hidden table
address@hidden deffn
-
 @c ARGFIXME port/input-port
 @c docstring begin (c-doc-string "ports.c" "port-column")
 @c docstring md5 "59f674b1d850a3d0ff4e98d1b251f2dc"
@@ -4340,19 +4767,6 @@
 current input port if none is specified.
 @end deffn
 
address@hidden docstring begin (c-doc-string "ports.c" "port-revealed")
address@hidden docstring md5 "1b7c38c06c8f072cdafa2710b72f7f3b"
address@hidden primitive port-revealed port
-Returns the revealed count for @var{port}.
address@hidden deffn
-
address@hidden docstring begin (c-doc-string "ports.c" "set-port-revealed!")
address@hidden docstring md5 "84596c3911799dc63419755ab4a79901"
address@hidden primitive set-port-revealed! port rcount
-Sets the revealed count for a port to a given value.
-The return value is unspecified.
address@hidden deffn
-
 @node Extended I/O
 @section Extended I/O
 
@@ -4974,6 +5388,228 @@
 
 
 @page
address@hidden Random
address@hidden Random
+
address@hidden docstring begin (c-doc-string "random.c" "copy-random-state")
address@hidden docstring md5 "e23691e0e6e86de67ddfefc2892aea64"
address@hidden primitive copy-random-state [state]
+Return a copy of the random state STATE.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "random.c" "random")
address@hidden docstring md5 "15d9f6070300a56218e126c08cd0fb3d"
address@hidden primitive random n [state]
+Return a number in [0,N).
+
+Accepts a positive integer or real n and returns a 
+number of the same type between zero (inclusive) and 
+N (exclusive). The values returned have a uniform 
+distribution.
+
+The optional argument STATE must be of the type produced by
+`seed->random-state'. It defaults to the value of the variable
+*random-state*. This object is used to maintain the state of
+the pseudo-random-number generator and is altered as a side
+effect of the random operation.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "random.c" "random:exp")
address@hidden docstring md5 "bda26ab094f9464f5e7513a074110abe"
address@hidden primitive random:exp [state]
+Returns an inexact real in an exponential distribution with mean 1.
+For an exponential distribution with mean u use (* u (random:exp)).
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "random.c" "random:hollow-sphere!")
address@hidden docstring md5 "86f26a095a5084456ca82eca43d90f92"
address@hidden primitive random:hollow-sphere! v [state]
+Fills vect with inexact real random numbers
+the sum of whose squares is equal to 1.0.
+Thinking of vect as coordinates in space of 
+dimension n = (vector-length vect), the coordinates
+are uniformly distributed over the surface of the 
+unit n-shere.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "random.c" "random:normal")
address@hidden docstring md5 "e3d18c468cf0837a95aa4d761b06618b"
address@hidden primitive random:normal [state]
+Returns an inexact real in a normal distribution.
+The distribution used has mean 0 and standard deviation 1.
+For a normal distribution with mean m and standard deviation
+d use @code{(+ m (* d (random:normal)))}.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "random.c" "random:normal-vector!")
address@hidden docstring md5 "ca01a0a2b982be4cf91f5c01f34ebad1"
address@hidden primitive random:normal-vector! v [state]
+Fills vect with inexact real random numbers that are
+independent and standard normally distributed
+(i.e., with mean 0 and variance 1).
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "random.c" "random:solid-sphere!")
address@hidden docstring md5 "f3f50c667eb05b6a52d4e238c84791f2"
address@hidden primitive random:solid-sphere! v [state]
+Fills vect with inexact real random numbers
+the sum of whose squares is less than 1.0.
+Thinking of vect as coordinates in space of 
+dimension n = (vector-length vect), the coordinates 
+are uniformly distributed within the unit n-shere.
+The sum of the squares of the numbers is returned.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "random.c" "random:uniform")
address@hidden docstring md5 "4203472358525e34c8f9d9b6fc4ab2d3"
address@hidden primitive random:uniform [state]
+Returns a uniformly distributed inexact real random number in [0,1).
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "random.c" "seed->random-state")
address@hidden docstring md5 "08325e35121b07828813b940966aa50d"
address@hidden primitive seed->random-state seed
+Return a new random state using SEED.
address@hidden deffn
+
+
address@hidden
address@hidden Sorting
address@hidden Sorting
+
address@hidden docstring begin (c-doc-string "sort.c" "merge!")
address@hidden docstring md5 "367b4ffd6b90c60f7948e548b40cb2e6"
address@hidden primitive merge! alist blist less
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "merge")
address@hidden docstring md5 "869d5db39656392d54e584778a838841"
address@hidden primitive merge alist blist less
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "restricted-vector-sort!")
address@hidden docstring md5 "fdfb2d1b508df2407df5aa06fb6b2e11"
address@hidden primitive restricted-vector-sort! vec less startpos endpos
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "sort!")
address@hidden docstring md5 "e3072b7809b03a14569c03a9b4037211"
address@hidden primitive sort! items less
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "sort")
address@hidden docstring md5 "9564c57edb55b1c7f5df1193dd2815a9"
address@hidden primitive sort items less
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "sort-list!")
address@hidden docstring md5 "8e0bde719221599da474718c1c19cbec"
address@hidden primitive sort-list! items less
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "sort-list")
address@hidden docstring md5 "aaa69aa76b735dae7480c7009b258524"
address@hidden primitive sort-list items less
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "sorted?")
address@hidden docstring md5 "2780363e0672d97c235caae689c5f15a"
address@hidden primitive sorted? items less
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "stable-sort!")
address@hidden docstring md5 "d0d1a2e69eb7b0c9363e66c805b39222"
address@hidden primitive stable-sort! items less
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "sort.c" "stable-sort")
address@hidden docstring md5 "a10b23541391f5530554f6e876ae3908"
address@hidden primitive stable-sort items less
+
address@hidden deffn
+
+
address@hidden
address@hidden Reading and Writing
address@hidden Reading and Writing
+
address@hidden docstring begin (c-doc-string "print.c" "get-print-state")
address@hidden docstring md5 "b5b525fc82e120ec1ff39dcbbf98f5f2"
address@hidden primitive get-print-state port
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "print.c" "newline")
address@hidden docstring md5 "d9351ef8f5403ffc8fba539fde744af6"
address@hidden primitive newline [port]
+Send a newline to PORT.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "print.c" "port-with-print-state")
address@hidden docstring md5 "4db8bca5cc04e8bba7efc513f9ad9574"
address@hidden primitive port-with-print-state port pstate
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "print.c" 
"print-options-interface")
address@hidden docstring md5 "f674aa5a515cc67a715de7b69d997bf1"
address@hidden primitive print-options-interface [setting]
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "print.c" "simple-format")
address@hidden docstring md5 "09a7aab6f9ebdc145c2db0111ea19dd5"
address@hidden primitive simple-format destination message . args
+Write MESSAGE to DESTINATION, defaulting to `current-output-port'.
+MESSAGE can contain ~A (was %s) and ~S (was %S) escapes.  When printed,
+the escapes are replaced with corresponding members of ARGS:
+~A formats using `display' and ~S formats using `write'.
+If DESTINATION is #t, then use the `current-output-port',
+if DESTINATION is #f, then return a string containing the formatted text.
+Does not add a trailing newline.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "print.c" "write-char")
address@hidden docstring md5 "b8769ac8c925ec06222f903385ba1cc6"
address@hidden primitive write-char chr [port]
+Send character CHR to PORT.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "read.c" "read")
address@hidden docstring md5 "946c5cca51d7fff7a135cfd2a59946b2"
address@hidden primitive read [port]
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "read.c" "read-hash-extend")
address@hidden docstring md5 "d0608894cab62e617219a26d9342ff16"
address@hidden primitive read-hash-extend chr proc
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "read.c" "read-options-interface")
address@hidden docstring md5 "1451ab22009c0806d033e31a567ff56a"
address@hidden primitive read-options-interface [setting]
+
address@hidden deffn
+
+
address@hidden
 @node Bitwise Operations
 @chapter Bitwise Operations
 
@@ -6345,7 +6981,19 @@
 blocked on @var{mutex} is awakened and grabs the mutex lock. 
 @end deffn
 
address@hidden begin (c-doc-string "threads.c" "make-condition-variable")
address@hidden primitive make-condition-variable
address@hidden deffn
 
address@hidden begin (c-doc-string "threads.c" "wait-condition-variable")
address@hidden primitive wait-condition-variable cond-var mutex
address@hidden deffn
+
address@hidden begin (c-doc-string "threads.c" "signal-condition-variable")
address@hidden primitive signal-condition-variable cond-var
address@hidden deffn
+
+
 @node Higher level thread procedures
 @subsection Higher level thread procedures
 
@@ -6483,6 +7131,13 @@
 To implement a mapping from source code expressions to the procedures
 they constitute a doubly-weak table has to be used.
 
address@hidden
+* Weak key hashes::
+* Weak vectors::
address@hidden menu
+
+
address@hidden Weak key hashes
 @section Weak key hashes
 
 @c ARGFIXME k/size
@@ -6509,6 +7164,32 @@
 hash table.
 @end deffn
 
address@hidden docstring begin (c-doc-string "weaks.c" 
"make-weak-value-hash-table")
address@hidden docstring md5 "fb4d4c2e073dbc796c91301c7354626a"
address@hidden primitive make-weak-value-hash-table k
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "weaks.c" "weak-value-hash-table?")
address@hidden docstring md5 "153f4d8d1c920b5b96bbe785f26948c4"
address@hidden primitive weak-value-hash-table? x
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "weaks.c" 
"make-doubly-weak-hash-table")
address@hidden docstring md5 "dfeed8361b0ead623e683a0c23a10d74"
address@hidden primitive make-doubly-weak-hash-table k
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "weaks.c" 
"doubly-weak-hash-table?")
address@hidden docstring md5 "c9e3cadd3bb01eeab465925fbaebef76"
address@hidden primitive doubly-weak-hash-table? x
+
address@hidden deffn
+
+
address@hidden Weak vectors
 @section Weak vectors
 
 Weak vectors are mainly useful in Guile's implementation of weak hash
@@ -6641,6 +7322,261 @@
 
 
 @page
address@hidden Symbols and Variables
address@hidden Symbols and Variables
+
address@hidden docstring begin (c-doc-string "symbols.c" "builtin-bindings")
address@hidden docstring md5 "8a1709992ef99271fdbc658707bfaf2c"
address@hidden primitive builtin-bindings
+Create and return a copy of the global symbol table, removing all
+unbound symbols.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" 
"builtin-weak-bindings")
address@hidden docstring md5 "51fe6c6e787815da2e77d1a43cd97739"
address@hidden primitive builtin-weak-bindings
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "gensym")
address@hidden docstring md5 "d1d5a91644bfdb7f7d8bd7425d5665c1"
address@hidden primitive gensym [name [obarray]]
+Create a new, unique symbol in @var{obarray}, using the global symbol
+table by default.  If @var{name} is specified, it should be used as a
+prefix for the new symbol's name.  The default prefix is @code{%%gensym}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "intern-symbol")
address@hidden docstring md5 "2af3c5220d73c461a595912190fb6f59"
address@hidden primitive intern-symbol o s
+Add a new symbol to @var{obarray} with name @var{string}, bound to an
+unspecified initial value.  The symbol table is not modified if a symbol
+with this name is already present.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" 
"string->obarray-symbol")
address@hidden docstring md5 "7685fc7e47376eac94e06b59b25ec224"
address@hidden primitive string->obarray-symbol o s [softp]
+Intern a new symbol in @var{obarray}, a symbol table, with name
address@hidden
+
+If @var{obarray} is @code{#f}, use the default system symbol table.  If
address@hidden is @code{#t}, the symbol should not be interned in any
+symbol table; merely return the pair (@var{symbol}
+. @var{#<undefined>}).
+
+The @var{soft?} argument determines whether new symbol table entries
+should be created when the specified symbol is not already present in
address@hidden  If @var{soft?} is specified and is a true value, then
+new entries should not be added for symbols not already present in the
+table; instead, simply return @code{#f}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "string->symbol")
address@hidden docstring md5 "9fd8dc0f103e845668d09ee2394a8ca6"
address@hidden primitive string->symbol s
+Returns the symbol whose name is @var{string}.  This procedure can
+create symbols with names containing special characters or letters in
+the non-standard case, but it is usually a bad idea to create such
+symbols because in some implementations of Scheme they cannot be read as
+themselves.  See @samp{symbol->string}.
+
+The following examples assume that the implementation's standard case is
+lower case:
+
address@hidden
address@hidden(eq? 'mISSISSIppi 'mississippi)  
+          ==>  #t
+(string->symbol "mISSISSIppi")  
+          ==>
+  @r{}the symbol with name "mISSISSIppi"
+(eq? 'bitBlt (string->symbol "bitBlt"))     
+          ==>  #f
+(eq? 'JollyWog
+     (string->symbol
+       (symbol->string 'JollyWog)))  
+          ==>  #t
+(string=? "K. Harper, M.D."
+          (symbol->string
+            (string->symbol "K. Harper, M.D.")))  
+          ==>  #t
+}
address@hidden format
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol->string")
address@hidden docstring md5 "b5364a720bb6d4de773b650b448ae726"
address@hidden primitive symbol->string s
+Returns the name of @var{symbol} as a string.  If the symbol was part of
+an object returned as the value of a literal expression (section
address@hidden expressions,,,r4rs, The Revised^4 Report on Scheme}) or
+by a call to the @samp{read} procedure, and its name contains alphabetic
+characters, then the string returned will contain characters in the
+implementation's preferred standard case---some implementations will
+prefer upper case, others lower case.  If the symbol was returned by
address@hidden>symbol}, the case of characters in the string returned
+will be the same as the case in the string that was passed to
address@hidden>symbol}.  It is an error to apply mutation procedures like
address@hidden to strings returned by this procedure. (r5rs)
+
+The following examples assume that the implementation's standard case is
+lower case:
+
address@hidden
address@hidden(symbol->string 'flying-fish)     
+                                ==>  "flying-fish"
+(symbol->string 'Martin)               ==>  "martin"
+(symbol->string
+   (string->symbol "Malvina"))     
+                           ==>  "Malvina"
+}
address@hidden format
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-binding")
address@hidden docstring md5 "1bac963d15a7fb2bab4fb8d0b8923536"
address@hidden primitive symbol-binding o s
+Look up in @var{obarray} the symbol whose name is @var{string}, and
+return the value to which it is bound.  If @var{obarray} is @code{#f},
+use the global symbol table.  If @var{string} is not interned in
address@hidden, an error is signalled.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-bound?")
address@hidden docstring md5 "7364a8dacf72876082091edad5dd76a1"
address@hidden primitive symbol-bound? o s
+Return @var{#t} if @var{obarray} contains a symbol with name
address@hidden bound to a defined value.  This differs from
address@hidden in that the mere mention of a symbol usually causes
+it to be interned; @code{symbol-bound?} determines whether a symbol has
+been given any meaningful value.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-fref")
address@hidden docstring md5 "6866703f22f515dc3dc9b68164c50025"
address@hidden primitive symbol-fref s
+Return the contents of @var{symbol}'s @dfn{function slot}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-fset!")
address@hidden docstring md5 "ea7fcb8a8a474030e181351bdfec85f4"
address@hidden primitive symbol-fset! s val
+Change the binding of @var{symbol}'s function slot.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-hash")
address@hidden docstring md5 "1e7a307da0194d2035391c43d37adf0f"
address@hidden primitive symbol-hash s
+Return the hash value derived from @var{symbol}'s name, i.e. the integer
+index into @var{symbol}'s obarray at which it is stored.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-interned?")
address@hidden docstring md5 "8601bd4112b45c15fd955f7b6c6b9f99"
address@hidden primitive symbol-interned? o s
+Return @var{#t} if @var{obarray} contains a symbol with name
address@hidden, and @var{#f} otherwise.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-pref")
address@hidden docstring md5 "35c4765d77ebf0c79e79ade2abc2d4ca"
address@hidden primitive symbol-pref s
+Return the @dfn{property list} currently associated with @var{symbol}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-pset!")
address@hidden docstring md5 "b5f811343fdeb1fa528fa900ab6b716c"
address@hidden primitive symbol-pset! s val
+Change the binding of @var{symbol}'s property slot.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol-set!")
address@hidden docstring md5 "117772fbfd3456db3f4118289d9e6f98"
address@hidden primitive symbol-set! o s v
+Find the symbol in @var{obarray} whose name is @var{string}, and rebind
+it to @var{value}.  An error is signalled if @var{string} is not present
+in @var{obarray}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "symbol?")
address@hidden docstring md5 "e6f53c2f2edad0570619f0a4ea2d1236"
address@hidden primitive symbol? obj
+Returns @t{#t} if @var{obj} is a symbol, otherwise returns @t{#f}. (r5rs)
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "symbols.c" "unintern-symbol")
address@hidden docstring md5 "b516213c408f616f54dd52c2247e5c60"
address@hidden primitive unintern-symbol o s
+Remove the symbol with name @var{string} from @var{obarray}.  This
+function returns @code{#t} if the symbol was present and @code{#f}
+otherwise.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "variable.c" "builtin-variable")
address@hidden docstring md5 "ea24649749c765749dccd892972a5781"
address@hidden primitive builtin-variable name
+Return the built-in variable with the name NAME.
+NAME must be a symbol (not a string).
+Then use `variable-ref' to access its value.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "variable.c" 
"make-undefined-variable")
address@hidden docstring md5 "27a8052787d72807b1b39347cf71a239"
address@hidden primitive make-undefined-variable [name_hint]
+Return a variable object initialized to an undefined value.
+If given, uses NAME-HINT as its internal (debugging)
+name, otherwise just treat it as an anonymous variable.
+Remember, of course, that multiple bindings to the same
+variable may exist, so NAME-HINT is just that---a hint.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "variable.c" "make-variable")
address@hidden docstring md5 "9f1f7b3b5a075161eebf33e09d94dd12"
address@hidden primitive make-variable init [name_hint]
+Return a variable object initialized to value INIT.
+If given, uses NAME-HINT as its internal (debugging)
+name, otherwise just treat it as an anonymous variable.
+Remember, of course, that multiple bindings to the same
+variable may exist, so NAME-HINT is just that---a hint.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "variable.c" "variable-bound?")
address@hidden docstring md5 "f5c74c992d0727e5d98a062d9bb4dd7b"
address@hidden primitive variable-bound? var
+Return #t iff VAR is bound to a value.
+Throws an error if VAR is not a variable object.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "variable.c" "variable-ref")
address@hidden docstring md5 "4a70f1da7eb469b203b9363a43018fcf"
address@hidden primitive variable-ref var
+Dereference VAR and return its value.
+VAR must be a variable object;  see `make-variable' and
+`make-undefined-variable'
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "variable.c" "variable-set!")
address@hidden docstring md5 "79f0ba026d4a35f37436f36eef4d4740"
address@hidden primitive variable-set! var val
+Set the value of the variable VAR to VAL.
+VAR must be a variable object, VAL can be any value.
+Returns an unspecified value.
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "variable.c" "variable?")
address@hidden docstring md5 "249146390f269e1afb3c1e8ba287e567"
address@hidden primitive variable? obj
+Return #t iff OBJ is a variable object, else return #f
+
address@hidden deffn
+
+
address@hidden
 @node Garbage Collection
 @chapter Garbage Collection
 
@@ -6836,6 +7772,108 @@
 @c docstring md5 "ccdd28b85ff0d1149b83159202141add"
 @deffn primitive debug-object? obj
 
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-arguments")
address@hidden docstring md5 "0e1d1da9800a7868d9b28ae648cbebb5"
address@hidden primitive frame-arguments frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" 
"frame-evaluating-args?")
address@hidden docstring md5 "69d29e30a00b7c245b71516d2995cf9a"
address@hidden primitive frame-evaluating-args? frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-next")
address@hidden docstring md5 "59fd4185c95528ad5ed90b8ed4315db8"
address@hidden primitive frame-next frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-number")
address@hidden docstring md5 "ca429cb78a9f0072ad415ce868b1ed8b"
address@hidden primitive frame-number frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-overflow?")
address@hidden docstring md5 "ee371fbee773071df8d29d39875f3ec4"
address@hidden primitive frame-overflow? frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-previous")
address@hidden docstring md5 "972cd2b0de5777ac57272c07ea0efdbd"
address@hidden primitive frame-previous frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-procedure")
address@hidden docstring md5 "0807ecc9cfde3d8612c683004ef7f2e9"
address@hidden primitive frame-procedure frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-procedure?")
address@hidden docstring md5 "4357341a9f96ec4ebdcfc946681b08bf"
address@hidden primitive frame-procedure? frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-real?")
address@hidden docstring md5 "6ef354bf37e30d927c438c0480cb7f31"
address@hidden primitive frame-real? frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame-source")
address@hidden docstring md5 "32e6ea70754da59bc5cbbae9bde0bfc3"
address@hidden primitive frame-source frame
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "frame?")
address@hidden docstring md5 "cf1b25c7d8f9b35150468335da74e091"
address@hidden primitive frame? obj
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "last-stack-frame")
address@hidden docstring md5 "4fe4dc74ec1cbcce557b9dab5f3d2ca9"
address@hidden primitive last-stack-frame obj
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "make-stack")
address@hidden docstring md5 "2bde281c4317494b0f3705af336d51b5"
address@hidden primitive make-stack obj . args
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "stack-id")
address@hidden docstring md5 "ca763708b2d35b13cff3421efe361e81"
address@hidden primitive stack-id stack
+Return the identifier given to @var{stack} by @code{start-stack}.
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "stack-length")
address@hidden docstring md5 "977273effa5d1a070514097dcf179162"
address@hidden primitive stack-length stack
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "stack-ref")
address@hidden docstring md5 "aa2413be65039197778736baf3b20358"
address@hidden primitive stack-ref stack i
+
address@hidden deffn
+
address@hidden docstring begin (c-doc-string "stacks.c" "stack?")
address@hidden docstring md5 "e2ef84c92c9766418532de42c7d89ca1"
address@hidden primitive stack? obj
+Return @code{#t} if @var{obj} is a calling stack.
 @end deffn
 
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]