r7rs-small-texinfo

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

commit e932965a3e5800ef5976450e1eb62d79d716e28a
parent 867f24ca42703d1a23ac1006f7b4904c7aacfd93
Author: Wolfgang Corcoran-Mathe <wcm@sigwinch.xyz>
Date:   Tue, 30 Jan 2024 02:25:06 -0500

More @deffns.

Diffstat:
Mdoc/r7rs-small/r7rs-small.texinfo | 289+++++++++++++++++++++++++++++++++++++++++++++++--------------------------------
1 file changed, 174 insertions(+), 115 deletions(-)

diff --git a/doc/r7rs-small/r7rs-small.texinfo b/doc/r7rs-small/r7rs-small.texinfo @@ -1946,7 +1946,7 @@ expression)) might not. Thus iterative lazy algorithms that might result in a lo chains of delay and force can be rewritten using delay-force to prevent consuming unbounded space during evaluation. -lazy library procedure: (force promise) +@deffn {lazy library procedure} force promise The force procedure forces the value of a @@ -2049,6 +2049,7 @@ are supported in some implementations: (list (delay (* 3 7)) 13)) @result{} a promise @end example +@end deffn @deffn {lazy library procedure} promise? obj @@ -3898,8 +3899,7 @@ z is both exact and an integer; otherwise returns #f. @end example -inexact library procedure: (finite? z) - +@deffn {inexact library procedure} finite? z The finite? procedure returns #t on all real numbers except +inf.0, -inf.0, and +nan.0, and on complex numbers if their real and imaginary parts are both finite. Otherwise it returns @@ -3912,9 +3912,9 @@ on complex numbers if their real and imaginary parts are both finite. Otherwise (finite? 3.0+inf.0i) @result{} #f @end example +@end deffn -inexact library procedure: (infinite? z) - +@deffn {inexact library procedure} infinite? z The infinite? procedure returns #t on the real numbers +inf.0 and -inf.0, and on complex numbers if their real or imaginary parts or both are infinite. Otherwise it returns #f. @@ -3927,9 +3927,9 @@ numbers if their real or imaginary parts or both are infinite. Otherwise it retu (infinite? 3.0+inf.0i) @result{} #t @end example +@end deffn -inexact library procedure: (nan? z) - +@deffn {inexact library procedure} nan? z The nan? procedure returns #t on +nan.0, and on complex numbers if their real or imaginary parts or both are +nan.0. Otherwise it returns #f. @@ -3942,6 +3942,7 @@ imaginary parts or both are +nan.0. Otherwise it returns #f. (nan? 1+2i) @result{} #f @end example +@end deffn @deffn procedure = z1 z2 z3 @dots{} @deffnx procedure < x1 x2 x3 @dots{} @@ -5361,23 +5362,24 @@ monotonically non-decreasing, or monotonically non-increasing. These predicates are required to be transitive. @end deffn -char library procedure: (char-ci=? char1 char2 char3 @dots{}) -char library procedure: (char-ci<? char1 char2 char3 @dots{}) -char library procedure: (char-ci>? char1 char2 char3 @dots{}) -char library procedure: (char-ci<=? char1 char2 char3 @dots{}) -char library procedure: (char-ci>=? char1 char2 char3 @dots{}) +@deffn {char library procedure} char-ci=? char1 char2 char3 @dots{} +@deffnx {char library procedure} char-ci<? char1 char2 char3 @dots{} +@deffnx {char library procedure} char-ci>? char1 char2 char3 @dots{} +@deffnx {char library procedure} char-ci<=? char1 char2 char3 @dots{} +@deffnx {char library procedure} char-ci>=? char1 char2 char3 @dots{} These procedures are similar to char=? et cetera, but they treat upper case and lower case letters as the same. For example, (char-ci=? #\A #\a) returns #t. Specifically, these procedures behave as if char-foldcase were applied to their arguments before they were compared. +@end deffn -char library procedure: (char-alphabetic? char) -char library procedure: (char-numeric? char) -char library procedure: (char-whitespace? char) -char library procedure: (char-upper-case? letter) -char library procedure: (char-lower-case? letter) +@deffn {char library procedure} char-alphabetic? char +@deffnx {char library procedure} char-numeric? char +@deffnx {char library procedure} char-whitespace? char +@deffnx {char library procedure} char-upper-case? letter +@deffnx {char library procedure} char-lower-case? letter These procedures return #t if their arguments are alphabetic, numeric, whitespace, upper case, or lower case characters, respectively, otherwise they return #f. Specifically, @@ -5385,8 +5387,9 @@ they must return #t when applied to characters with the Unicode properties Alpha Numeric_Type=Decimal, White_Space, Uppercase, and Lowercase respectively, and #f when applied to any other Unicode characters. Note that many Unicode characters are alphabetic but neither upper nor lower case. +@end deffn -char library procedure: (digit-value char) +@deffn {char library procedure} digit-value char This procedure returns the numeric value (0 to 9) of its argument if it is a numeric digit (that is, if char-numeric? returns #t), or #f on any other character. @@ -5399,6 +5402,7 @@ This procedure returns the numeric value (0 to 9) of its argument if it is a num (digit-value #\x0EA6) @result{} #f @end example +@end deffn @deffn procedure char->integer char @deffnx procedure integer->char n @@ -5413,9 +5417,9 @@ Given an exact integer that is the value returned by a character when char->inte applied to it, integer->char returns that character. @end deffn -char library procedure: (char-upcase char) -char library procedure: (char-downcase char) -char library procedure: (char-foldcase char) +@deffn {char library procedure} char-upcase char +@deffnx {char library procedure} char-downcase char +@deffnx {char library procedure} char-foldcase char The char-upcase procedure, given an argument that is the lowercase part of a Unicode casing pair, returns the uppercase member of the pair, provided that both characters @@ -5434,6 +5438,7 @@ character that results from folding is not supported by the implementation, the argument is returned. See UAX #44 [11] (part of the Unicode Standard) for details. Note that many Unicode lowercase characters do not have uppercase equivalents. +@end deffn @node Strings @section Strings @@ -5583,12 +5588,12 @@ Returns #t if all the strings are the same length and contain exactly the same c in the same positions, otherwise returns #f. @end deffn -char library procedure: (string-ci=? string1 string2 string3 @dots{}) - +@deffn {char library procedure} string-ci=? string1 string2 string3 @dots{} Returns #t if, after case-folding, all the strings are the same length and contain the same characters in the same positions, otherwise returns #f. Specifically, these procedures behave as if string-foldcase were applied to their arguments before comparing them. +@end deffn @deffn procedure string<? string1 string2 string3@dots{} @deffnx {char library procedure} string-ci<? string1 string2 string3@dots{} @@ -5622,9 +5627,9 @@ The ``-ci'' procedures behave as if they applied string-foldcase to their argume invoking the corresponding procedures without ``-ci''. @end deffn -char library procedure: (string-upcase string) -char library procedure: (string-downcase string) -char library procedure: (string-foldcase string) +@deffn {char library procedure} string-upcase string +@deffnx {char library procedure} string-downcase string +@deffnx {char library procedure} string-foldcase string These procedures apply the Unicode full string uppercasing, lowercasing, and case-folding algorithms to their arguments and return the result. In certain cases, the @@ -5635,6 +5640,7 @@ treatment of the Greek letter Σ, whose normal lower-case form is σ but which b at the end of a word. See UAX #44 [11] (part of the Unicode Standard) for details. However, implementations of string-downcase are not required to provide this behavior, and may choose to change Σ to σ in all cases. +@end deffn @deffn procedure substring string start end @@ -6923,8 +6929,7 @@ output port on a file, respectively. Otherwise, it returns #f. @node Environments and evaluation @section Environments and evaluation -eval library procedure: (environment list1 @dots{}) - +@deffn {eval library procedure} environment list1 @dots{} This procedure returns a specifier for the environment that results by starting with an empty environment and then importing each @@ -6932,8 +6937,9 @@ empty environment and then importing each list, considered as an import set, into it. (See section 5.6 for a description of import sets.) The bindings of the environment represented by the specifier are immutable, as is the environment itself. +@end deffn -r5rs library procedure: (scheme-report-environment version) +@deffn {r5rs library procedure} scheme-report-environment version If @@ -6954,8 +6960,9 @@ signaled. The effect of defining or assigning (through the use of eval) an identifier bound in a scheme-report-environment (for example car) is unspecified. Thus both the environment and the bindings it contains may be immutable. +@end deffn -r5rs library procedure: (null-environment version) +@deffn {r5rs library procedure} null-environment version If @@ -6976,15 +6983,17 @@ signaled. The effect of defining or assigning (through the use of eval) an identifier bound in a scheme-report-environment (for example car) is unspecified. Thus both the environment and the bindings it contains may be immutable. +@end deffn -repl library procedure: (interaction-environment) +@deffn {repl library procedure} interaction-environment This procedure returns a specifier for a mutable environment that contains an implementation-defined set of bindings, typically a superset of those exported by (scheme base). The intent is that this procedure will return the environment in which the implementation would evaluate expressions entered by the user into a REPL. +@end deffn -eval library procedure: (eval expr-or-def environment-specifier) +@deffn {eval library procedure} eval expr-or-def environment-specifier If @@ -7007,6 +7016,7 @@ eval to allow other objects. @result{} error is signaled @end example +@end deffn @node Input and output @section Input and output @@ -7064,9 +7074,10 @@ to escape from the current continuation but later to resume it. If implementatio were permitted to close the port on any escape from the current continuation, then it would be impossible to write portable code using both call-with-current-continuation and call-with-port. +@end deffn -file library procedure: (call-with-input-file string proc) -file library procedure: (call-with-output-file string proc) +@deffn {file library procedure} call-with-input-file string proc +@deffnx {file library procedure} call-with-output-file string proc It is an error if @@ -7076,37 +7087,41 @@ These procedures obtain a textual port obtained by opening the named file for in 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 procedure input-port? obj -@deffn procedure output-port? obj -@deffn procedure textual-port? obj -@deffn procedure binary-port? obj -@deffn 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 obj is an input port, output port, textual port, binary port, or any kind of port, respectively. Otherwise they return #f. +@end deffn -@deffn procedure input-port-open? port -@deffn procedure output-port-open? port +@deffn procedure input-port-open? port +@deffnx procedure output-port-open? port Returns #t if port is still open and capable of performing input or output, respectively, and #f otherwise. +@end deffn -@deffn procedure current-input-port -@deffn procedure current-output-port -@deffn 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 parameterize (see section 4.2.6). The initial bindings for these are implementation-defined textual ports. +@end deffn -file library procedure: (with-input-from-file string thunk) -file library procedure: (with-output-to-file string thunk) +@deffn {file library procedure} with-input-from-file string thunk +@deffnx {file library procedure} with-output-to-file string thunk The file is opened for input or output as if by open-input-file or open-output-file, and the new port is made to be the value returned by current-input-port or current-output-port @@ -7123,18 +7138,20 @@ thunk does not accept zero arguments. Both procedures return the values yielded thunk. If an escape procedure is used to escape from the continuation of these procedures, they behave exactly as if the current input or output port had been bound dynamically with parameterize. +@end deffn -file library procedure: (open-input-file string) -file library procedure: (open-binary-input-file string) +@deffn {file library procedure} open-input-file string +@deffnx {file library procedure} open-binary-input-file string Takes a string for an existing file and returns a textual input port or binary input port that is capable of delivering data from the file. If the file does not exist or cannot be opened, an error that satisfies file-error? is signaled. +@end deffn -file library procedure: (open-output-file string) -file library procedure: (open-binary-output-file string) +@deffn {file library procedure} open-output-file string +@deffnx {file library procedure} open-binary-output-file string Takes a @@ -7142,10 +7159,11 @@ string naming an output file to be created and returns a textual output port or output port that is capable of writing data to a new file by that name. If a file with the given name already exists, the effect is unspecified. If the file cannot be opened, an error that satisfies file-error? is signaled. +@end deffn -@deffn procedure close-port port -@deffn procedure close-input-port port -@deffn 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 @@ -7158,16 +7176,19 @@ such as sockets; the close-input-port and close-output-port procedures can then 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 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 procedure open-output-string Returns a textual output port that will accumulate characters for retrieval by get-output-string. +@end deffn @deffn procedure get-output-string port @@ -7192,16 +7213,19 @@ the order they were output. If the result string is modified, the effect is unsp @result{} "piece by piece by piece.\n" @end example +@end deffn @deffn procedure open-input-bytevector bytevector Takes a bytevector and returns a binary input port that delivers bytes from the bytevector. +@end deffn @deffn procedure open-output-bytevector Returns a binary output port that will accumulate bytes for retrieval by get-output-bytevector. +@end deffn @deffn procedure get-output-bytevector port @@ -7211,6 +7235,7 @@ port was not created with open-output-bytevector. Returns a bytevector consisting of the bytes that have been output to the port so far in the order they were output. +@end deffn @node Input @subsection Input @@ -7220,8 +7245,8 @@ If port is omitted from any input procedure, it defaults to the value returned by (current-input-port). It is an error to attempt an input operation on a closed port. -read library procedure: (read) -read library procedure: (read port) +@deffn {read library procedure} read +@deffnx {read library procedure} read port The read procedure converts external representations of Scheme objects into the objects themselves. That is, it is a parser for the non-terminal <datum> (see sections @@ -7241,9 +7266,10 @@ further attempts to read will also return an end-of-file object. If an end of fi encountered after the beginning of an object's external representation, but the external representation is incomplete and therefore not parsable, an error that satisfies read-error? is signaled. +@end deffn -@deffn procedure read-char -@deffn procedure read-char port +@deffn procedure read-char +@deffnx procedure read-char port Returns the next character available from the textual input @@ -7251,9 +7277,10 @@ port, updating the port to point to the following character. If no more characters are available, an end-of-file object is returned. +@end deffn -@deffn procedure peek-char -@deffn procedure peek-char port +@deffn procedure peek-char +@deffnx procedure peek-char port Returns the next character available from the textual input @@ -7270,9 +7297,10 @@ port. The only difference is that the very next call to read-char or peek-char o port will return the value returned by the preceding call to peek-char. In particular, a call to peek-char on an interactive port will hang waiting for input whenever a call to read-char would have hung. +@end deffn -@deffn procedure read-line -@deffn procedure read-line port +@deffn procedure read-line +@deffnx procedure read-line port Returns the next line of text available from the textual input @@ -7287,6 +7315,7 @@ object is returned. For the purpose of this procedure, an end of line consists o linefeed character, a carriage return character, or a sequence of a carriage return character followed by a linefeed character. Implementations may also recognize other end of line characters or sequences. +@end deffn @deffn procedure eof-object? obj @@ -7295,13 +7324,15 @@ Returns #t if obj is an end-of-file object, otherwise returns #f. The precise set of end-of-file objects will vary among implementations, but in any case no end-of-file object will ever be an object that can be read in using read. +@end deffn @deffn procedure eof-object Returns an end-of-file object, not necessarily unique. +@end deffn -@deffn procedure char-ready? -@deffn procedure char-ready? port +@deffn procedure char-ready? +@deffnx procedure char-ready? port Returns #t if a character is ready on the textual input @@ -7318,9 +7349,10 @@ Any input editors associated with such ports must ensure that characters whose existence has been asserted by char-ready? cannot be removed from the input. If 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 procedure read-string k -@deffn procedure read-string k port +@deffn procedure read-string k +@deffnx procedure read-string k port Reads the next @@ -7328,9 +7360,10 @@ k characters, or as many as are available before the end of file, from the textu port into a newly allocated string in left-to-right order and returns the string. If no characters are available before the end of file, an end-of-file object is returned. +@end deffn -@deffn procedure read-u8 -@deffn procedure read-u8 port +@deffn procedure read-u8 +@deffnx procedure read-u8 port Returns the next byte available from the binary input @@ -7338,9 +7371,10 @@ port, updating the port to point to the following byte. If no more bytes are available, an end-of-file object is returned. +@end deffn -@deffn procedure peek-u8 -@deffn procedure peek-u8 port +@deffn procedure peek-u8 +@deffnx procedure peek-u8 port Returns the next byte available from the binary input @@ -7348,9 +7382,10 @@ port, but without updating the port to point to the following byte. If no more bytes are available, an end-of-file object is returned. +@end deffn -@deffn procedure u8-ready? -@deffn procedure u8-ready? port +@deffn procedure u8-ready? +@deffnx procedure u8-ready? port Returns #t if a byte is ready on the binary input @@ -7360,9 +7395,10 @@ the given port is guaranteed not to hang. If the port is at end of file then u8-ready? returns #t. +@end deffn -@deffn procedure read-bytevector k -@deffn procedure read-bytevector k port +@deffn procedure read-bytevector k +@deffnx procedure read-bytevector k port Reads the next @@ -7370,11 +7406,12 @@ k bytes, or as many as are available before the end of file, from the binary inp port into a newly allocated bytevector in left-to-right order and returns the bytevector. If no bytes are available before the end of file, an end-of-file object is returned. +@end deffn -@deffn procedure read-bytevector! bytevector -@deffn procedure read-bytevector! bytevector port -@deffn procedure read-bytevector! bytevector port start -@deffn 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 @@ -7391,6 +7428,7 @@ bytevector has been reached. If start is not supplied, reads beginning at position 0. Returns the number of bytes read. If no bytes are available, an end-of-file object is returned. +@end deffn @node Output @subsection Output @@ -7400,8 +7438,8 @@ If port is omitted from any output procedure, it defaults to the value returned by (current-output-port). It is an error to attempt an output operation on a closed port. -write library procedure: (write obj) -write library procedure: (write obj port) +@deffn {write library procedure} write obj +@deffnx {write library procedure} write obj port Writes a representation of @@ -7423,24 +7461,27 @@ Implementations may support extended syntax to represent record types or other t that do not have datum representations. The write procedure returns an unspecified value. +@end deffn -write library procedure: (write-shared obj) -write library procedure: (write-shared obj port) +@deffn {write library procedure} write-shared obj +@deffnx {write library procedure} write-shared obj port The write-shared procedure is the same as write, except that shared structure must be represented using datum labels for all pairs and vectors that appear more than once in the output. +@end deffn -write library procedure: (write-simple obj) -write library procedure: (write-simple obj port) +@deffn {write library procedure} write-simple obj +@deffnx {write library procedure} write-simple obj port The write-simple procedure is the same as write, except that shared structure is never represented using datum labels. This can cause write-simple not to terminate if obj contains circular structure. +@end deffn -write library procedure: (display obj) -write library procedure: (display obj port) +@deffn {write library procedure} display obj +@deffnx {write library procedure} display obj port Writes a representation of @@ -7461,28 +7502,31 @@ The display procedure returns an unspecified value. Rationale: The write procedure is intended for producing machine-readable output and display for producing human-readable output. +@end deffn -@deffn procedure newline -@deffn procedure newline port +@deffn procedure newline +@deffnx procedure newline port Writes an end of line to textual output port. Exactly how this is done differs from one operating system to another. Returns an unspecified value. +@end deffn -@deffn procedure write-char char -@deffn procedure write-char char port +@deffn procedure write-char char +@deffnx procedure write-char char port Writes the character char (not an external representation of the character) to the given textual output port and returns an unspecified value. +@end deffn -@deffn procedure write-string string -@deffn procedure write-string string port -@deffn procedure write-string string port start -@deffn 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 @@ -7493,20 +7537,22 @@ start to end in left-to-right order to the textual output port. +@end deffn -@deffn procedure write-u8 byte -@deffn procedure write-u8 byte port +@deffn procedure write-u8 byte +@deffnx procedure write-u8 byte port Writes the byte to the given binary output port and returns an unspecified value. +@end deffn -@deffn procedure write-bytevector bytevector -@deffn procedure write-bytevector bytevector port -@deffn procedure write-bytevector bytevector port start -@deffn 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 @@ -7517,12 +7563,14 @@ start to end in left-to-right order to the binary output port. +@end deffn -@deffn procedure flush-output-port -@deffn 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. +@end deffn @node System interface @section System interface @@ -7530,8 +7578,8 @@ device and returns an unspecified value. Questions of system interface generally fall outside of the domain of this report. However, the following operations are important enough to deserve description here. -load library procedure: (load filename) -load library procedure: (load filename environment-specifier) +@deffn {load library procedure} load filename +@deffnx {load library procedure} load filename environment-specifier It is an error if @@ -7553,8 +7601,9 @@ returns an unspecified value. Rationale: For portability, load must operate on source files. Its operation on other kinds of files necessarily varies among implementations. +@end deffn -file library procedure: (file-exists? filename) +@deffn {file library procedure} file-exists? filename It is an error if @@ -7563,7 +7612,7 @@ filename is not a string. The file-exists? procedure returns #t if the named file exists at the time the procedure is called, and #f otherwise. -file library procedure: (delete-file filename) +@deffn {file library procedure} delete-file filename It is an error if @@ -7572,15 +7621,17 @@ filename is not a string. The delete-file procedure deletes the named file if it exists and can be deleted, and returns an unspecified value. If the file does not exist or cannot be deleted, an error that satisfies file-error? is signaled. +@end deffn -process-context library procedure: (command-line) +@deffn {process-context library procedure} command-line Returns the command line passed to the process as a list of strings. The first string corresponds to the command name, and is implementation-dependent. It is an error to mutate any of these strings. +@end deffn -process-context library procedure: (exit) -process-context library procedure: (exit obj) +@deffn {process-context library procedure} exit +@deffnx {process-context library procedure} exit obj Runs all outstanding dynamic-wind @@ -7599,9 +7650,10 @@ The exit procedure must not signal an exception or return to its continuation. Note: Because of the requirement to run handlers, this procedure is not just the operating system's exit procedure. +@end deffn -process-context library procedure: (emergency-exit) -process-context library procedure: (emergency-exit obj) +@deffn {process-context library procedure} emergency-exit +@deffnx {process-context library procedure} emergency-exit obj Terminates the program without running any outstanding dynamic-wind @@ -7610,8 +7662,9 @@ manner as exit. Note: The emergency-exit procedure corresponds to the _exit procedure in Windows and Posix. +@end deffn -process-context library procedure: (get-environment-variable name) +@deffn {process-context library procedure} get-environment-variable name Many operating systems provide each running process with an environment consisting of environment variables. (This environment is not to be confused with the Scheme @@ -7630,8 +7683,9 @@ resulting string. @result{} "/usr/local/bin:/usr/bin:/bin" @end example +@end deffn -process-context library procedure: (get-environment-variables) +@deffn {process-context library procedure} get-environment-variables Returns the names and values of all the environment variables as an alist, where the car of each entry is the name of an environment variable and the cdr is its value, both as @@ -7644,8 +7698,9 @@ or the alist itself. @result{} (("USER" . "root") ("HOME" . "/")) @end example +@end deffn -time library procedure: (current-second) +@deffn {time library procedure} current-second Returns an inexact number representing the current time on the International Atomic Time (TAI) scale. The value 0.0 represents midnight on January 1, 1970 TAI (equivalent to @@ -7655,8 +7710,9 @@ returning Coordinated Universal Time plus a suitable constant might be the best implementation can do. As of 2018, a TAI-UTC offset table can be found at [40]. +@end deffn -time library procedure: (current-jiffy) +@deffn {time library procedure} current-jiffy Returns the number of jiffies as an exact integer that have elapsed since an arbitrary, implementation-defined epoch. A jiffy is an implementation-defined fraction of a second @@ -7671,8 +7727,9 @@ inappropriate for some implementations: a microsecond is too long for a very fas machine, while a much smaller unit would force many implementations to return integers which have to be allocated for most calls, rendering current-jiffy less useful for accurate timing measurements. +@end deffn -time library procedure: (jiffies-per-second) +@deffn {time library procedure} jiffies-per-second Returns an exact integer representing the number of jiffies per SI second. This value is an implementation-specified constant. @@ -7687,6 +7744,7 @@ an implementation-specified constant. (jiffies-per-second)))) @end example +@end deffn @deffn procedure features @@ -7703,6 +7761,7 @@ modify this list. Here is an example of what features might return: space-ship-control-system) @end example +@end deffn @node Formal syntax and semantics @chapter Formal syntax and semantics