r7rs-small-texinfo

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 4143bf030d6582f7f6ca56a9eb7fae0f440da915
parent 8d77f523b6bd76402cf8a69cbe3a6568cd452d59
Author: Yuval Langer <yuval.langer@gmail.com>
Date:   Tue, 30 Jan 2024 21:11:51 +0200

Revert "@deffn {base library procedure}" to "@deffn procedure".

Diffstat:
Mdoc/r7rs-small/r7rs-small.texinfo | 528++++++++++++++++++++++++++++++++++++++++----------------------------------------
1 file changed, 264 insertions(+), 264 deletions(-)

diff --git a/doc/r7rs-small/r7rs-small.texinfo b/doc/r7rs-small/r7rs-small.texinfo @@ -422,7 +422,7 @@ template for a call to the procedure. Argument names in the template are italicized. Thus the header line -@deffn {base library procedure} vector-ref vector k +@deffn procedure vector-ref vector k indicates that the procedure bound to the @code{vector-ref} variable takes two arguments, a vector @@ -435,8 +435,8 @@ vector The header lines -@deffn {base library procedure} make-vector k -@deffnx {base library procedure} make-vector k fill +@deffn procedure make-vector k +@deffnx procedure make-vector k fill indicate that the @code{make-vector} procedure must be defined to take either one or two arguments. @@ -2080,8 +2080,8 @@ This sections introduces parameter objects, which can be bound to new values for duration of a dynamic extent. The set of all parameter bindings at a given time is called the dynamic environment. -@deffn {base library procedure} make-parameter init -@deffnx {base library procedure} make-parameter init converter +@deffn procedure make-parameter init +@deffnx procedure make-parameter init converter Returns a newly allocated parameter object, which is a procedure that accepts zero arguments and returns the value associated with the parameter object. Initially, this value @@ -3248,7 +3248,7 @@ symmetric, reflexive, and transitive. Of the equivalence predicates described in section, eq? is the finest or most discriminating, equal? is the coarsest, and eqv? is slightly less discriminating than eq?. -@deffn {base library procedure} eqv? obj1 obj2 +@deffn procedure eqv? obj1 obj2 The @code{eqv?} procedure defines a useful equivalence relation on objects. Briefly, it returns #t if @@ -3457,7 +3457,7 @@ an implementation of @code{eqv?} that simply compares equal-sized inexact number bitwise equality is correct by the above definition. @end deffn -@deffn {base library procedure} eq? obj1 obj2 +@deffn procedure eq? obj1 obj2 The @code{eq?} procedure is similar to eqv? except that in some cases it is capable of discerning distinctions finer than those detectable by eqv?. It must always return #f when eqv? also @@ -3500,7 +3500,7 @@ Rationale: It will usually be possible to implement @code{eq?} much more efficie @end deffn -@deffn {base library procedure} equal? obj1 obj2 +@deffn procedure equal? obj1 obj2 The @code{equal?} procedure, when applied to pairs, vectors, strings and bytevectors, recursively compares them, returning #t when the unfoldings of its arguments into (possibly infinite) @@ -3816,11 +3816,11 @@ numerical constants written using an inexact notation can be represented without accuracy; the inexact constants were chosen so that this is likely to be true in implementations that use IEEE binary doubles to represent inexact numbers. -@deffn {base library procedure} number? obj -@deffnx {base library procedure} complex? obj -@deffnx {base library procedure} real? obj -@deffnx {base library procedure} rational? obj -@deffnx {base library procedure} integer? obj +@deffn procedure number? obj +@deffnx procedure complex? obj +@deffnx procedure real? obj +@deffnx procedure rational? obj +@deffnx procedure integer? obj These numerical type predicates can be applied to any kind of argument, including non-numbers. They return #t if the object is of the named type, and otherwise they return @@ -3876,8 +3876,8 @@ numbers. @end deffn -@deffn {base library procedure} exact? z -@deffnx {base library procedure} inexact? z +@deffn procedure exact? z +@deffnx procedure inexact? z These numerical predicates provide tests for the exactness of a quantity. For any Scheme @@ -3892,7 +3892,7 @@ number, precisely one of these predicates is true. @end example @end deffn -@deffn {base library procedure} exact-integer? z +@deffn procedure exact-integer? z Returns #t if @@ -3953,11 +3953,11 @@ imaginary parts or both are +nan.0. Otherwise it returns #f. @end example @end deffn -@deffn {base library procedure} = z1 z2 z3 @dots{} -@deffnx {base library procedure} < x1 x2 x3 @dots{} -@deffnx {base library procedure} > x1 x2 x3 @dots{} -@deffnx {base library procedure} <= x1 x2 x3 @dots{} -@deffnx {base library procedure} >= x1 x2 x3 @dots{} +@deffn procedure = z1 z2 z3 @dots{} +@deffnx procedure < x1 x2 x3 @dots{} +@deffnx procedure > x1 x2 x3 @dots{} +@deffnx procedure <= x1 x2 x3 @dots{} +@deffnx procedure >= x1 x2 x3 @dots{} These procedures return #t if their arguments are (respectively): equal, monotonically increasing, monotonically decreasing, monotonically non-decreasing, or monotonically @@ -3980,18 +3980,18 @@ results are unreliable because a small inaccuracy can affect the result; this is especially true of = and zero?. When in doubt, consult a numerical analyst. @end deffn -@deffn {base library procedure} zero? z -@deffnx {base library procedure} positive? x -@deffnx {base library procedure} negative? x -@deffnx {base library procedure} odd? n -@deffnx {base library procedure} even? n +@deffn procedure zero? z +@deffnx procedure positive? x +@deffnx procedure negative? x +@deffnx procedure odd? n +@deffnx procedure even? n These numerical predicates test a number for a particular property, returning #t or #f. See note above. @end deffn -@deffn {base library procedure} max x1 x2@dots{} -@deffnx {base library procedure} min x1 x2@dots{} +@deffn procedure max x1 x2@dots{} +@deffnx procedure min x1 x2@dots{} These procedures return the maximum or minimum of their arguments. @@ -4010,8 +4010,8 @@ represented as an inexact number without loss of accuracy, then the procedure ma report a violation of an implementation restriction. @end deffn -@deffn {base library procedure} + z1 @dots{} -@deffnx {base library procedure} * z1 @dots{} +@deffn procedure + z1 @dots{} +@deffnx procedure * z1 @dots{} These procedures return the sum or product of their arguments. @@ -4026,10 +4026,10 @@ These procedures return the sum or product of their arguments. @end example @end deffn -@deffn {base library procedure} - z -@deffnx {base library procedure} - z1 z2@dots{} -@deffnx {base library procedure} / z -@deffnx {base library procedure} / z1 z2@dots{} +@deffn procedure - z +@deffnx procedure - z1 z2@dots{} +@deffnx procedure / z +@deffnx procedure / z1 z2@dots{} With two or more arguments, these procedures return the difference or quotient of their arguments, associating to the left. With one argument, however, they return the additive @@ -4050,7 +4050,7 @@ other arguments is a NaN. @end example @end deffn -@deffn {base library procedure} abs x +@deffn procedure abs x The abs procedure returns the absolute value of its argument. @@ -4061,12 +4061,12 @@ The abs procedure returns the absolute value of its argument. @end example @end deffn -@deffn {base library procedure} floor/ n1 n2 -@deffnx {base library procedure} floor-quotient n1 n2 -@deffnx {base library procedure} floor-remainder n1 n2 -@deffnx {base library procedure} truncate/ n1 n2 -@deffnx {base library procedure} truncate-quotient n1 n2 -@deffnx {base library procedure} truncate-remainder n1 n2 +@deffn procedure floor/ n1 n2 +@deffnx procedure floor-quotient n1 n2 +@deffnx procedure floor-remainder n1 n2 +@deffnx procedure truncate/ n1 n2 +@deffnx procedure truncate-quotient n1 n2 +@deffnx procedure truncate-remainder n1 n2 These procedures implement number-theoretic (integer) division. It is an error if @@ -4179,9 +4179,9 @@ Examples: @end example @end deffn -@deffn {base library procedure} quotient n1 n2 -@deffnx {base library procedure} remainder n1 n2 -@deffnx {base library procedure} modulo n1 n2 +@deffn procedure quotient n1 n2 +@deffnx procedure remainder n1 n2 +@deffnx procedure modulo n1 n2 The quotient and remainder procedures are equivalent to truncate-quotient and truncate-remainder, respectively, and modulo is equivalent to floor-remainder. @@ -4190,8 +4190,8 @@ Note: These procedures are provided for backward compatibility with earlier versions of this report. @end deffn -@deffn {base library procedure} gcd n1 @dots{} -@deffnx {base library procedure} lcm n1 @dots{} +@deffn procedure gcd n1 @dots{} +@deffnx procedure lcm n1 @dots{} These procedures return the greatest common divisor or least common multiple of their arguments. The result is always non-negative. @@ -4207,8 +4207,8 @@ arguments. The result is always non-negative. @end example @end deffn -@deffn {base library procedure} numerator q -@deffnx {base library procedure} denominator q +@deffn procedure numerator q +@deffnx procedure denominator q These procedures return the numerator or denominator of their argument; the result is computed as if the argument was represented as a fraction in lowest terms. The @@ -4224,10 +4224,10 @@ denominator is always positive. The denominator of 0 is defined to be 1. @end example @end deffn -@deffn {base library procedure} floor x -@deffnx {base library procedure} ceiling x -@deffnx {base library procedure} truncate x -@deffnx {base library procedure} round x +@deffn procedure floor x +@deffnx procedure ceiling x +@deffnx procedure truncate x +@deffnx procedure round x These procedures return integers. The floor procedure returns the largest integer not larger than @@ -4269,7 +4269,7 @@ procedure. If the argument is infinite or a NaN, then it is returned. @end example @end deffn -@deffn {base library procedure} rationalize x y +@deffn procedure rationalize x y The rationalize procedure returns the simplest rational number differing from @@ -4367,7 +4367,7 @@ these functions. When it is possible, these procedures produce a real result fro argument. @end deffn -@deffn {base library procedure} square z +@deffn procedure square z Returns the square of z. This is equivalent to @code{(* z z)}. @@ -4394,7 +4394,7 @@ imaginary part. @end example @end deffn -@deffn {base library procedure} exact-integer-sqrt k +@deffn procedure exact-integer-sqrt k Returns two non-negative exact integers s and r where @@ -4410,7 +4410,7 @@ k < (s + 1)2. @end example @end deffn -@deffn {base library procedure} expt z1 z2 +@deffn procedure expt z1 z2 Returns @@ -4475,8 +4475,8 @@ Rationale: The magnitude procedure is the same as abs for a real argument, but a is in the base library, whereas magnitude is in the optional complex library. @end deffn -@deffn {base library procedure} inexact z -@deffnx {base library procedure} exact z +@deffn procedure inexact z +@deffnx procedure exact z The procedure inexact returns an inexact representation of @@ -4509,8 +4509,8 @@ names are clearer and shorter, as well as being compatible with R6RS. @node Numerical input and output @subsection Numerical input and output -@deffn {base library procedure} number->string z -@deffnx {base library procedure} number->string z radix +@deffn procedure number->string z +@deffnx procedure number->string z radix It is an error if @@ -4555,8 +4555,8 @@ satisfied by a result containing a decimal point. The unspecified case allows fo infinities, NaNs, and unusual representations. @end deffn -@deffn {base library procedure} string->number string -@deffnx {base library procedure} string->number string radix +@deffn procedure string->number string +@deffnx procedure string->number string radix Returns a number of the maximally precise representation expressed by the given @@ -4633,7 +4633,7 @@ programs. @end example -@deffn {base library procedure} not obj +@deffn procedure not obj The not procedure returns #t if @@ -4652,7 +4652,7 @@ obj is false, and returns #f otherwise. @end example @end deffn -@deffn {base library procedure} boolean? obj +@deffn procedure boolean? obj The boolean? predicate returns #t if @@ -4667,7 +4667,7 @@ obj is either #t or #f and returns #f otherwise. @end example @end deffn -@deffn {base library procedure} boolean=? boolean1 boolean2 boolean3 @dots{} +@deffn procedure boolean=? boolean1 boolean2 boolean3 @dots{} Returns #t if all the arguments are #t or all are #f. @end deffn @@ -4763,7 +4763,7 @@ That is, according to Scheme's grammar, every <expression> is also a <datum> (se section 7.1.2). Among other things, this permits the use of the read procedure to parse Scheme programs. See section 3.3. -@deffn {base library procedure} pair? obj +@deffn procedure pair? obj The pair? predicate returns #t if @@ -4777,7 +4777,7 @@ obj is a pair, and otherwise returns #f. @end example @end deffn -@deffn {base library procedure} cons obj1 obj2 +@deffn procedure cons obj1 obj2 Returns a newly allocated pair whose car is @@ -4795,7 +4795,7 @@ object. @end example @end deffn -@deffn {base library procedure} car pair +@deffn procedure car pair Returns the contents of the car field of @@ -4809,7 +4809,7 @@ pair. Note that it is an error to take the car of the empty list. @end example @end deffn -@deffn {base library procedure} cdr pair +@deffn procedure cdr pair Returns the contents of the cdr field of @@ -4822,7 +4822,7 @@ pair. Note that it is an error to take the cdr of the empty list. @end example @end deffn -@deffn {base library procedure} set-car! pair obj +@deffn procedure set-car! pair obj Stores @@ -4836,7 +4836,7 @@ pair. (set-car! (g) 3) @result{} error @end deffn -@deffn {base library procedure} set-cdr! pair obj +@deffn procedure set-cdr! pair obj Stores @@ -4845,10 +4845,10 @@ obj in the cdr field of pair. @end deffn -@deffn {base library procedure} caar pair -@deffnx {base library procedure} cadr pair -@deffnx {base library procedure} cdar pair -@deffnx {base library procedure} cddr pair +@deffn procedure caar pair +@deffnx procedure cadr pair +@deffnx procedure cdar pair +@deffnx procedure cddr pair These procedures are compositions of car and cdr as follows: @@ -4882,14 +4882,14 @@ provided. @end deffn -@deffn {base library procedure} null? obj +@deffn procedure null? obj Returns #t if obj is the empty list, otherwise returns #f. @end deffn -@deffn {base library procedure} list? obj +@deffn procedure list? obj Returns #t if @@ -4908,8 +4908,8 @@ terminated by the empty list. @end example @end deffn -@deffn {base library procedure} make-list k -@deffnx {base library procedure} make-list k fill +@deffn procedure make-list k +@deffnx procedure make-list k fill Returns a newly allocated list of @@ -4924,7 +4924,7 @@ fill. Otherwise the initial contents of each element is unspecified. @end example @end deffn -@deffn {base library procedure} list obj @dots{} +@deffn procedure list obj @dots{} Returns a newly allocated list of its arguments. @@ -4936,7 +4936,7 @@ Returns a newly allocated list of its arguments. @end example @end deffn -@deffn {base library procedure} length list +@deffn procedure length list Returns the length of @var{list}. @@ -4949,7 +4949,7 @@ Returns the length of @var{list}. @end example @end deffn -@deffn {base library procedure} append list@dots{} +@deffn procedure append list@dots{} The last argument, if there is one, can be of any type. @@ -4972,7 +4972,7 @@ improper list results if the last argument is not a proper list. @end example @end deffn -@deffn {base library procedure} reverse list +@deffn procedure reverse list Returns a newly allocated list consisting of the elements of @var{list} in reverse order. @@ -4986,7 +4986,7 @@ Returns a newly allocated list consisting of the elements of @end example @end deffn -@deffn {base library procedure} list-tail list k +@deffn procedure list-tail list k It is an error if @@ -5011,7 +5011,7 @@ k elements. The list-tail procedure could be defined by @end example @end deffn -@deffn {base library procedure} list-ref list k +@deffn procedure list-ref list k The @@ -5041,7 +5041,7 @@ k).) @end example @end deffn -@deffn {base library procedure} list-set! list k obj +@deffn procedure list-set! list k obj It is an error if @@ -5070,10 +5070,10 @@ list. @end example @end deffn -@deffn {base library procedure} memq obj list -@deffnx {base library procedure} memv obj list -@deffnx {base library procedure} member obj list -@deffnx {base library procedure} member obj list compare +@deffn procedure memq obj list +@deffnx procedure memv obj list +@deffnx procedure member obj list +@deffnx procedure member obj list compare These procedures return the first sublist of @@ -5118,10 +5118,10 @@ compare, if given, and equal? otherwise. @end example @end deffn -@deffn {base library procedure} assq obj alist -@deffnx {base library procedure} assv obj alist -@deffnx {base library procedure} assoc obj alist -@deffnx {base library procedure} assoc obj alist compare +@deffn procedure assq obj alist +@deffnx procedure assv obj alist +@deffnx procedure assoc obj alist +@deffnx procedure assoc obj alist compare It is an error if @@ -5168,7 +5168,7 @@ Rationale: Although they are often used as predicates, memq, memv, member, assq, potentially useful values rather than just #t or #f. @end deffn -@deffn {base library procedure} list-copy obj +@deffn procedure list-copy obj Returns a newly allocated copy of the given @@ -5214,7 +5214,7 @@ defeat write/read invariance, and also violate the rule that two symbols are the same if and only if their names are spelled the same. This report does not specify the behavior of implementation-dependent extensions. -@deffn {base library procedure} symbol? obj +@deffn procedure symbol? obj Returns #t if @@ -5232,7 +5232,7 @@ obj is a symbol, otherwise returns #f. @end example @end deffn -@deffn {base library procedure} symbol=? symbol1 symbol2 symbol3 @dots{} +@deffn procedure symbol=? symbol1 symbol2 symbol3 @dots{} Returns #t if all the arguments all have the same names in the sense of string=?. @@ -5240,7 +5240,7 @@ Note: The definition above assumes that none of the arguments are uninterned symbols. @end deffn -@deffn {base library procedure} symbol->string symbol +@deffn procedure symbol->string symbol Returns the name of @@ -5259,7 +5259,7 @@ procedures like string-set! to strings returned by this procedure. @end example @end deffn -@deffn {base library procedure} string->symbol string +@deffn procedure string->symbol string Returns the symbol whose name is @@ -5356,18 +5356,18 @@ quoted in programs. Some of the procedures that operate on characters ignore the difference between upper case and lower case. The procedures that ignore case have ``-ci'' (for ``case insensitive'') embedded in their names. -@deffn {base library procedure} char? obj +@deffn procedure char? obj Returns #t if obj is a character, otherwise returns #f. @end deffn -@deffn {base library procedure} char=? char1 char2 char3 @dots{} -@deffnx {base library procedure} char<? char1 char2 char3 @dots{} -@deffnx {base library procedure} char>? char1 char2 char3 @dots{} -@deffnx {base library procedure} char<=? char1 char2 char3 @dots{} -@deffnx {base library procedure} char>=? char1 char2 char3 @dots{} +@deffn procedure char=? char1 char2 char3 @dots{} +@deffnx procedure char<? char1 char2 char3 @dots{} +@deffnx procedure char>? char1 char2 char3 @dots{} +@deffnx procedure char<=? char1 char2 char3 @dots{} +@deffnx procedure char>=? char1 char2 char3 @dots{} These procedures return #t if the results of passing their arguments to char->integer are respectively equal, monotonically increasing, monotonically decreasing, @@ -5418,8 +5418,8 @@ This procedure returns the numeric value (0 to 9) of its argument if it is a num @end example @end deffn -@deffn {base library procedure} char->integer char -@deffnx {base library procedure} integer->char n +@deffn procedure char->integer char +@deffnx procedure integer->char n Given a Unicode character, char->integer returns an exact integer between 0 and #xD7FF or between #xE000 and #x10FFFF which is equal to the Unicode scalar value of that @@ -5518,15 +5518,15 @@ utf8->string (see section 6.9). It is also an error for a procedure passed to st (see section 6.10) to return a forbidden character, or for read-string (see section 6.13.2) to attempt to read one. -@deffn {base library procedure} string? obj +@deffn procedure string? obj Returns #t if obj is a string, otherwise returns #f. @end deffn -@deffn {base library procedure} make-string k -@deffnx {base library procedure} make-string k char +@deffn procedure make-string k +@deffnx procedure make-string k char The make-string procedure returns a newly allocated string of length @@ -5537,19 +5537,19 @@ char is given, then all the characters of the string are initialized to char, otherwise the contents of the string are unspecified. @end deffn -@deffn {base library procedure} string char @dots{} +@deffn procedure string char @dots{} Returns a newly allocated string composed of the arguments. It is analogous to list. @end deffn -@deffn {base library procedure} string-length string +@deffn procedure string-length string Returns the number of characters in the given string. @end deffn -@deffn {base library procedure} string-ref string k +@deffn procedure string-ref string k It is an error if @@ -5567,7 +5567,7 @@ string using zero-origin indexing. There is no requirement for this procedure to execute in constant time. @end deffn -@deffn {base library procedure} string-set! string k char +@deffn procedure string-set! string k char It is an error if @@ -5596,7 +5596,7 @@ string. There is no requirement for this procedure to execute in constant time. @end example @end deffn -@deffn {base library procedure} string=? string1 string2 string3 @dots{} +@deffn procedure string=? string1 string2 string3 @dots{} Returns #t if all the strings are the same length and contain exactly the same characters in the same positions, otherwise returns #f. @@ -5609,13 +5609,13 @@ characters in the same positions, otherwise returns #f. Specifically, these proc behave as if string-foldcase were applied to their arguments before comparing them. @end deffn -@deffn {base library procedure} string<? string1 string2 string3@dots{} +@deffn procedure string<? string1 string2 string3@dots{} @deffnx {char library procedure} string-ci<? string1 string2 string3@dots{} -@deffnx {base library procedure} string>? string1 string2 string3@dots{} +@deffnx procedure string>? string1 string2 string3@dots{} @deffnx {char library procedure} string-ci>? string1 string2 string3@dots{} -@deffnx {base library procedure} string<=? string1 string2 string3@dots{} +@deffnx procedure string<=? string1 string2 string3@dots{} @deffnx {char library procedure} string-ci<=? string1 string2 string3@dots{} -@deffnx {base library procedure} string>=? string1 string2 string3@dots{} +@deffnx procedure string>=? string1 string2 string3@dots{} @deffnx {char library procedure} string-ci>=? string1 string2 string3@dots{} These procedures return #t if their arguments are (respectively): monotonically @@ -5656,7 +5656,7 @@ However, implementations of string-downcase are not required to provide this behavior, and may choose to change Σ to σ in all cases. @end deffn -@deffn {base library procedure} substring string start end +@deffn procedure substring string start end The substring procedure returns a newly allocated string formed from the characters of @@ -5668,16 +5668,16 @@ end. This is equivalent to calling string-copy with the same arguments, but is p for backward compatibility and stylistic flexibility. @end deffn -@deffn {base library procedure} string-append string @dots{} +@deffn procedure string-append string @dots{} Returns a newly allocated string whose characters are the concatenation of the characters in the given strings. @end deffn -@deffn {base library procedure} string->list string -@deffnx {base library procedure} string->list string start -@deffnx {base library procedure} string->list string start end -@deffnx {base library procedure} list->string list +@deffn procedure string->list string +@deffnx procedure string->list string start +@deffnx procedure string->list string start end +@deffnx procedure list->string list It is an error if any element of @@ -5695,9 +5695,9 @@ list. In both procedures, order is preserved. string->list and list->string are far as equal? is concerned. @end deffn -@deffn {base library procedure} string-copy string -@deffnx {base library procedure} string-copy string start -@deffnx {base library procedure} string-copy string start end +@deffn procedure string-copy string +@deffnx procedure string-copy string start +@deffnx procedure string-copy string start end Returns a newly allocated copy of the part of the given @@ -5708,9 +5708,9 @@ start and end. @end deffn -@deffn {base library procedure} string-copy! to at from -@deffnx {base library procedure} string-copy! to at from start -@deffnx {base library procedure} string-copy! to at from start end +@deffn procedure string-copy! to at from +@deffnx procedure string-copy! to at from start +@deffnx procedure string-copy! to at from start end It is an error if @@ -5751,9 +5751,9 @@ b @result{} "a12de" @end example @end deffn -@deffn {base library procedure} string-fill! string fill -@deffnx {base library procedure} string-fill! string fill start -@deffnx {base library procedure} string-fill! string fill start end +@deffn procedure string-fill! string fill +@deffnx procedure string-fill! string fill start +@deffnx procedure string-fill! string fill start end It is an error if @@ -5791,15 +5791,15 @@ list (2 2 2 2) in element 1, and the string "Anna" in element 2 can be written a #(0 (2 2 2 2) "Anna") Vector constants are self-evaluating, so they do not need to be quoted in programs. -@deffn {base library procedure} vector? obj +@deffn procedure vector? obj Returns #t if obj is a vector; otherwise returns #f. @end deffn -@deffn {base library procedure} make-vector k -@deffnx {base library procedure} make-vector k fill +@deffn procedure make-vector k +@deffnx procedure make-vector k fill Returns a newly allocated vector of @@ -5808,7 +5808,7 @@ k elements. If a second argument is given, then each element is initialized to fill. Otherwise the initial contents of each element is unspecified. @end deffn -@deffn {base library procedure} vector obj @dots{} +@deffn procedure vector obj @dots{} Returns a newly allocated vector whose elements contain the given arguments. It is analogous to list. @@ -5820,14 +5820,14 @@ analogous to list. @end example @end deffn -@deffn {base library procedure} vector-length vector +@deffn procedure vector-length vector Returns the number of elements in vector as an exact integer. @end deffn -@deffn {base library procedure} vector-ref vector k +@deffn procedure vector-ref vector k It is an error if @@ -5854,7 +5854,7 @@ vector. @end example @end deffn -@deffn {base library procedure} vector-set! vector k obj +@deffn procedure vector-set! vector k obj It is an error if @@ -5883,10 +5883,10 @@ vector. @end example @end deffn -@deffn {base library procedure} vector->list vector -@deffnx {base library procedure} vector->list vector start -@deffnx {base library procedure} vector->list vector start end -@deffnx {base library procedure} list->vector list +@deffn procedure vector->list vector +@deffnx procedure vector->list vector start +@deffnx procedure vector->list vector start end +@deffnx procedure list->vector list The vector->list procedure returns a newly allocated list of the objects contained in the elements of @@ -5914,12 +5914,12 @@ In both procedures, order is preserved. @end example @end deffn -@deffn {base library procedure} vector->string vector -@deffnx {base library procedure} vector->string vector start -@deffnx {base library procedure} vector->string vector start end -@deffnx {base library procedure} string->vector string -@deffnx {base library procedure} string->vector string start -@deffnx {base library procedure} string->vector string start end +@deffn procedure vector->string vector +@deffnx procedure vector->string vector start +@deffnx procedure vector->string vector start end +@deffnx procedure string->vector string +@deffnx procedure string->vector string start +@deffnx procedure string->vector string start end It is an error if any element of @@ -5956,9 +5956,9 @@ In both procedures, order is preserved. @end example @end deffn -@deffn {base library procedure} vector-copy vector -@deffnx {base library procedure} vector-copy vector start -@deffnx {base library procedure} vector-copy vector start end +@deffn procedure vector-copy vector +@deffnx procedure vector-copy vector start +@deffnx procedure vector-copy vector start end Returns a newly allocated copy of the elements of the given @@ -5981,9 +5981,9 @@ c @result{} #(8 2) @end example @end deffn -@deffn {base library procedure} vector-copy! to at from -@deffnx {base library procedure} vector-copy! to at from start -@deffnx {base library procedure} vector-copy! to at from start end +@deffn procedure vector-copy! to at from +@deffnx procedure vector-copy! to at from start +@deffnx procedure vector-copy! to at from start end It is an error if @@ -6024,7 +6024,7 @@ b @result{} #(10 1 2 40 50) @end example @end deffn -@deffn {base library procedure} vector-append vector@dots{} +@deffn procedure vector-append vector@dots{} Returns a newly allocated vector whose elements are the concatenation of the elements of the given vectors. @@ -6037,9 +6037,9 @@ of the given vectors. @end example @end deffn -@deffn {base library procedure} vector-fill! vector fill -@deffnx {base library procedure} vector-fill! vector fill start -@deffnx {base library procedure} vector-fill! vector fill start end +@deffn procedure vector-fill! vector fill +@deffnx procedure vector-fill! vector fill start +@deffnx procedure vector-fill! vector fill start end The vector-fill! procedure stores @@ -6081,7 +6081,7 @@ byte @dots{}). For example, a bytevector of length 3 containing the byte 0 in el #u8(0 10 5) Bytevector constants are self-evaluating, so they do not need to be quoted in programs. -@deffn {base library procedure} bytevector? obj +@deffn procedure bytevector? obj Returns #t if @@ -6089,8 +6089,8 @@ obj is a bytevector. Otherwise, #f is returned. @end deffn -@deffn {base library procedure} make-bytevector k -@deffnx {base library procedure} make-bytevector k byte +@deffn procedure make-bytevector k +@deffnx procedure make-bytevector k byte The make-bytevector procedure returns a newly allocated bytevector of length @@ -6107,7 +6107,7 @@ byte, otherwise the contents of each element are unspecified. @end example @end deffn -@deffn {base library procedure} bytevector byte@dots{} +@deffn procedure bytevector byte@dots{} Returns a newly allocated bytevector containing its arguments. @@ -6119,14 +6119,14 @@ Returns a newly allocated bytevector containing its arguments. @end example @end deffn -@deffn {base library procedure} bytevector-length bytevector +@deffn procedure bytevector-length bytevector Returns the length of bytevector in bytes as an exact integer. @end deffn -@deffn {base library procedure} bytevector-u8-ref bytevector k +@deffn procedure bytevector-u8-ref bytevector k It is an error if @@ -6149,7 +6149,7 @@ bytevector. @end example @end deffn -@deffn {base library procedure} bytevector-u8-set! bytevector k byte +@deffn procedure bytevector-u8-set! bytevector k byte It is an error if @@ -6175,9 +6175,9 @@ bytevector. @end example @end deffn -@deffn {base library procedure} bytevector-copy bytevector -@deffnx {base library procedure} bytevector-copy bytevector start -@deffnx {base library procedure} bytevector-copy bytevector start end +@deffn procedure bytevector-copy bytevector +@deffnx procedure bytevector-copy bytevector start +@deffnx procedure bytevector-copy bytevector start end Returns a newly allocated bytevector containing the bytes in @@ -6195,9 +6195,9 @@ end. @end example @end deffn -@deffn {base library procedure} bytevector-copy! to at from -@deffnx {base library procedure} bytevector-copy! to at from start -@deffnx {base library procedure} bytevector-copy! to at from start end +@deffn procedure bytevector-copy! to at from +@deffnx procedure bytevector-copy! to at from start +@deffnx procedure bytevector-copy! to at from start end It is an error if @@ -6241,7 +6241,7 @@ Note: This procedure appears in R6RS, but places the source before the destinati contrary to other such procedures in Scheme. @end deffn -@deffn {base library procedure} bytevector-append bytevector@dots{} +@deffn procedure bytevector-append bytevector@dots{} Returns a newly allocated bytevector whose elements are the concatenation of the elements in the given bytevectors. @@ -6254,12 +6254,12 @@ elements in the given bytevectors. @end example @end deffn -@deffn {base library procedure} utf8->string bytevector -@deffnx {base library procedure} utf8->string bytevector start -@deffnx {base library procedure} utf8->string bytevector start end -@deffnx {base library procedure} string->utf8 string -@deffnx {base library procedure} string->utf8 string start -@deffnx {base library procedure} string->utf8 string start end +@deffn procedure utf8->string bytevector +@deffnx procedure utf8->string bytevector start +@deffnx procedure utf8->string bytevector start end +@deffnx procedure string->utf8 string +@deffnx procedure string->utf8 string start +@deffnx procedure string->utf8 string start end It is an error for @@ -6294,7 +6294,7 @@ execution in special ways. Procedures in this section that invoke procedure argu always do so in the same dynamic environment as the call of the original procedure. The procedure? predicate is also described here. -@deffn {base library procedure} procedure? obj +@deffn procedure procedure? obj Returns #t if @@ -6314,7 +6314,7 @@ obj is a procedure, otherwise returns #f. @end example @end deffn -@deffn {base library procedure} apply proc arg1@dots{} args +@deffn procedure apply proc arg1@dots{} args The apply procedure calls @@ -6334,7 +6334,7 @@ proc with the elements of the list @code{(append (list arg1 @dots{}) args)} as t @end example @end deffn -@deffn {base library procedure} map proc list1 list2@dots{} +@deffn procedure map proc list1 list2@dots{} It is an error if @@ -6380,7 +6380,7 @@ or (2 1) @end example @end deffn -@deffn {base library procedure} string-map proc string1 string2@dots{} +@deffn procedure string-map proc string1 string2@dots{} It is an error if @@ -6423,7 +6423,7 @@ earlier returns are not mutated. @end example @end deffn -@deffn {base library procedure} vector-map proc vector1 vector2@dots{} +@deffn procedure vector-map proc vector1 vector2@dots{} It is an error if @@ -6467,7 +6467,7 @@ or #(2 1) @end example @end deffn -@deffn {base library procedure} for-each proc list1 list2@dots{} +@deffn procedure for-each proc list1 list2@dots{} It is an error if @@ -6503,7 +6503,7 @@ proc to mutate any of the lists. @end example @end deffn -@deffn {base library procedure} string-for-each proc string1 string2@dots{} +@deffn procedure string-for-each proc string1 string2@dots{} It is an error if @@ -6536,7 +6536,7 @@ proc to mutate any of the strings. @end example @end deffn -@deffn {base library procedure} vector-for-each proc vector1 vector2@dots{} +@deffn procedure vector-for-each proc vector1 vector2@dots{} It is an error if @@ -6569,8 +6569,8 @@ proc to mutate any of the vectors. @end example @end deffn -@deffn {base library procedure} call-with-current-continuation proc -@deffnx {base library procedure} call/cc proc +@deffn procedure call-with-current-continuation proc +@deffnx procedure call/cc proc It is an error if @@ -6659,7 +6659,7 @@ Rationale: A common use of call-with-current-continuation is for structured, by creating a procedure that acts just like the current continuation. @end deffn -@deffn {base library procedure} values obj @dots{} +@deffn procedure values obj @dots{} Delivers all of its arguments to its continuation. The values procedure might be defined as follows: @@ -6673,7 +6673,7 @@ as follows: @end example @end deffn -@deffn {base library procedure} call-with-values producer consumer +@deffn procedure call-with-values producer consumer Calls its @@ -6695,7 +6695,7 @@ consumer is the continuation of the call to call-with-values. @end example @end deffn -@deffn {base library procedure} dynamic-wind before thunk after +@deffn procedure dynamic-wind before thunk after Calls @@ -6803,7 +6803,7 @@ object encapsulating information about the exception. Any procedure accepting on argument can serve as an exception handler and any object can be used to represent an exception. -@deffn {base library procedure} with-exception-handler handler thunk +@deffn procedure with-exception-handler handler thunk It is an error if @@ -6846,7 +6846,7 @@ exception. @end example @end deffn -@deffn {base library procedure} raise obj +@deffn procedure raise obj Raises an exception by invoking the current exception handler on @@ -6858,7 +6858,7 @@ same dynamic environment as the handler. The relationship between obj and the object raised by the secondary exception is unspecified. @end deffn -@deffn {base library procedure} raise-continuable obj +@deffn procedure raise-continuable obj Raises an exception by invoking the current exception handler on @@ -6887,7 +6887,7 @@ the values it returns become the values returned by the call to raise-continuabl @end example @end deffn -@deffn {base library procedure} error message obj @dots{} +@deffn procedure error message obj @dots{} Message should be a string. @@ -6911,7 +6911,7 @@ objs, known as the irritants. The procedure error-object? must return #t on such @end example @end deffn -@deffn {base library procedure} error-object? obj +@deffn procedure error-object? obj Returns #t if @@ -6920,22 +6920,22 @@ Otherwise, it returns #f. The objects used to signal errors, including those whi the predicates file-error? and read-error?, may or may not satisfy error-object?. @end deffn -@deffn {base library procedure} error-object-message error-object +@deffn procedure error-object-message error-object Returns the message encapsulated by error-object. @end deffn -@deffn {base library procedure} error-object-irritants error-object +@deffn procedure error-object-irritants error-object Returns a list of the irritants encapsulated by error-object. @end deffn -@deffn {base library procedure} read-error? obj -@deffnx {base library procedure} file-error? obj +@deffn procedure read-error? obj +@deffnx procedure file-error? obj Error type predicates. Returns #t if @@ -7067,7 +7067,7 @@ implementation-dependent. Ports can be used to access files, devices, and similar things on the host system on which the Scheme program is running. -@deffn {base library procedure} call-with-port port proc +@deffn procedure call-with-port port proc It is an error if @@ -7106,11 +7106,11 @@ output as if by open-input-file or open-output-file. The port and proc are then passed to a procedure equivalent to call-with-port. @end deffn -@deffn {base library procedure} input-port? obj -@deffnx {base library procedure} output-port? obj -@deffnx {base library procedure} textual-port? obj -@deffnx {base library procedure} binary-port? obj -@deffnx {base library procedure} port? obj +@deffn procedure input-port? obj +@deffnx procedure output-port? obj +@deffnx procedure textual-port? obj +@deffnx procedure binary-port? obj +@deffnx procedure port? obj These procedures return #t if @@ -7118,8 +7118,8 @@ obj is an input port, output port, textual port, binary port, or any kind of por respectively. Otherwise they return #f. @end deffn -@deffn {base library procedure} input-port-open? port -@deffnx {base library procedure} output-port-open? port +@deffn procedure input-port-open? port +@deffnx procedure output-port-open? port Returns #t if @@ -7127,9 +7127,9 @@ port is still open and capable of performing input or output, respectively, and otherwise. @end deffn -@deffn {base library procedure} current-input-port -@deffnx {base library procedure} current-output-port -@deffnx {base library procedure} current-error-port +@deffn procedure current-input-port +@deffnx procedure current-output-port +@deffnx procedure current-error-port Returns the current default input port, output port, or error port (an output port), respectively. These procedures are parameter objects, which can be overridden with @@ -7178,9 +7178,9 @@ given name already exists, the effect is unspecified. If the file cannot be open that satisfies file-error? is signaled. @end deffn -@deffn {base library procedure} close-port port -@deffnx {base library procedure} close-input-port port -@deffnx {base library procedure} close-output-port port +@deffn procedure close-port port +@deffnx procedure close-input-port port +@deffnx procedure close-output-port port Closes the resource associated with @@ -7195,19 +7195,19 @@ to close the input and output sides of the port independently. These routines have no effect if the port has already been closed. @end deffn -@deffn {base library procedure} open-input-string string +@deffn procedure open-input-string string Takes a string and returns a textual input port that delivers characters from the string. If the string is modified, the effect is unspecified. @end deffn -@deffn {base library procedure} open-output-string +@deffn procedure open-output-string Returns a textual output port that will accumulate characters for retrieval by get-output-string. @end deffn -@deffn {base library procedure} get-output-string port +@deffn procedure get-output-string port It is an error if @@ -7232,19 +7232,19 @@ the order they were output. If the result string is modified, the effect is unsp @end example @end deffn -@deffn {base library procedure} open-input-bytevector bytevector +@deffn procedure open-input-bytevector bytevector Takes a bytevector and returns a binary input port that delivers bytes from the bytevector. @end deffn -@deffn {base library procedure} open-output-bytevector +@deffn procedure open-output-bytevector Returns a binary output port that will accumulate bytes for retrieval by get-output-bytevector. @end deffn -@deffn {base library procedure} get-output-bytevector port +@deffn procedure get-output-bytevector port It is an error if @@ -7285,8 +7285,8 @@ representation is incomplete and therefore not parsable, an error that satisfies read-error? is signaled. @end deffn -@deffn {base library procedure} read-char -@deffnx {base library procedure} read-char port +@deffn procedure read-char +@deffnx procedure read-char port Returns the next character available from the textual input @@ -7296,8 +7296,8 @@ port to point to the following character. If no more characters are available, a object is returned. @end deffn -@deffn {base library procedure} peek-char -@deffnx {base library procedure} peek-char port +@deffn procedure peek-char +@deffnx procedure peek-char port Returns the next character available from the textual input @@ -7316,8 +7316,8 @@ call to peek-char on an interactive port will hang waiting for input whenever a read-char would have hung. @end deffn -@deffn {base library procedure} read-line -@deffnx {base library procedure} read-line port +@deffn procedure read-line +@deffnx procedure read-line port Returns the next line of text available from the textual input @@ -7334,7 +7334,7 @@ character followed by a linefeed character. Implementations may also recognize o end of line characters or sequences. @end deffn -@deffn {base library procedure} eof-object? obj +@deffn procedure eof-object? obj Returns #t if @@ -7343,13 +7343,13 @@ will vary among implementations, but in any case no end-of-file object will ever object that can be read in using read. @end deffn -@deffn {base library procedure} eof-object +@deffn procedure eof-object Returns an end-of-file object, not necessarily unique. @end deffn -@deffn {base library procedure} char-ready? -@deffnx {base library procedure} char-ready? port +@deffn procedure char-ready? +@deffnx procedure char-ready? port Returns #t if a character is ready on the textual input @@ -7368,8 +7368,8 @@ char-ready? were to return #f at end of file, a port at end of file would be indistinguishable from an interactive port that has no ready characters. @end deffn -@deffn {base library procedure} read-string k -@deffnx {base library procedure} read-string k port +@deffn procedure read-string k +@deffnx procedure read-string k port Reads the next @@ -7379,8 +7379,8 @@ port into a newly allocated string in left-to-right order and returns the string characters are available before the end of file, an end-of-file object is returned. @end deffn -@deffn {base library procedure} read-u8 -@deffnx {base library procedure} read-u8 port +@deffn procedure read-u8 +@deffnx procedure read-u8 port Returns the next byte available from the binary input @@ -7390,8 +7390,8 @@ port to point to the following byte. If no more bytes are available, an end-of-f returned. @end deffn -@deffn {base library procedure} peek-u8 -@deffnx {base library procedure} peek-u8 port +@deffn procedure peek-u8 +@deffnx procedure peek-u8 port Returns the next byte available from the binary input @@ -7401,8 +7401,8 @@ port to point to the following byte. If no more bytes are available, an end-of-f returned. @end deffn -@deffn {base library procedure} u8-ready? -@deffnx {base library procedure} u8-ready? port +@deffn procedure u8-ready? +@deffnx procedure u8-ready? port Returns #t if a byte is ready on the binary input @@ -7414,8 +7414,8 @@ port is guaranteed not to hang. If the port is at end of file then u8-ready? returns #t. @end deffn -@deffn {base library procedure} read-bytevector k -@deffnx {base library procedure} read-bytevector k port +@deffn procedure read-bytevector k +@deffnx procedure read-bytevector k port Reads the next @@ -7425,10 +7425,10 @@ port into a newly allocated bytevector in left-to-right order and returns the by no bytes are available before the end of file, an end-of-file object is returned. @end deffn -@deffn {base library procedure} read-bytevector! bytevector -@deffnx {base library procedure} read-bytevector! bytevector port -@deffnx {base library procedure} read-bytevector! bytevector port start -@deffnx {base library procedure} read-bytevector! bytevector port start end +@deffn procedure read-bytevector! bytevector +@deffnx procedure read-bytevector! bytevector port +@deffnx procedure read-bytevector! bytevector port start +@deffnx procedure read-bytevector! bytevector port start end Reads the next end − start bytes, or as many as are available before the end of file, from the binary input @@ -7521,8 +7521,8 @@ Rationale: The write procedure is intended for producing machine-readable output and display for producing human-readable output. @end deffn -@deffn {base library procedure} newline -@deffnx {base library procedure} newline port +@deffn procedure newline +@deffnx procedure newline port Writes an end of line to textual output @@ -7530,8 +7530,8 @@ port. Exactly how this is done differs from one operating system to another. Ret unspecified value. @end deffn -@deffn {base library procedure} write-char char -@deffnx {base library procedure} write-char char port +@deffn procedure write-char char +@deffnx procedure write-char char port Writes the character @@ -7540,10 +7540,10 @@ char (not an external representation of the character) to the given textual outp port and returns an unspecified value. @end deffn -@deffn {base library procedure} write-string string -@deffnx {base library procedure} write-string string port -@deffnx {base library procedure} write-string string port start -@deffnx {base library procedure} write-string string port start end +@deffn procedure write-string string +@deffnx procedure write-string string port +@deffnx procedure write-string string port start +@deffnx procedure write-string string port start end Writes the characters of @@ -7556,8 +7556,8 @@ end in left-to-right order to the textual output port. @end deffn -@deffn {base library procedure} write-u8 byte -@deffnx {base library procedure} write-u8 byte port +@deffn procedure write-u8 byte +@deffnx procedure write-u8 byte port Writes the @@ -7566,10 +7566,10 @@ byte to the given binary output port and returns an unspecified value. @end deffn -@deffn {base library procedure} write-bytevector bytevector -@deffnx {base library procedure} write-bytevector bytevector port -@deffnx {base library procedure} write-bytevector bytevector port start -@deffnx {base library procedure} write-bytevector bytevector port start end +@deffn procedure write-bytevector bytevector +@deffnx procedure write-bytevector bytevector port +@deffnx procedure write-bytevector bytevector port start +@deffnx procedure write-bytevector bytevector port start end Writes the bytes of @@ -7582,8 +7582,8 @@ end in left-to-right order to the binary output port. @end deffn -@deffn {base library procedure} flush-output-port -@deffnx {base library procedure} flush-output-port port +@deffn procedure flush-output-port +@deffnx procedure flush-output-port port Flushes any buffered output from the buffer of output-port to the underlying file or device and returns an unspecified value. @@ -7765,7 +7765,7 @@ an implementation-specified constant. @end example @end deffn -@deffn {base library procedure} features +@deffn procedure features Returns a list of the feature identifiers which cond-expand treats as true. It is an error to modify this list. Here is an example of what features might return: