guile-devel
[Top][All Lists]
Advanced

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

Re: [Doc] Patch: eq? and friends accepts more than two arguments


From: Jean Abou Samra
Subject: Re: [Doc] Patch: eq? and friends accepts more than two arguments
Date: Sun, 6 Nov 2022 15:58:06 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1

Le 06/11/2022 à 15:47, Thomas Morley a écrit :
Hi,

please find attached a doc-patch, clearifying eq?/eqv?/equal? are
working with more than two arguments.


Well, but the signature

eq? x y ...

is still not correct, because (eq?) and (eq? x) are also valid.
eq? takes *any* number of arguments.

Probably better to do:



From 09177dab48dabee4b6b6ac5fe110cd56e3e6e261 Mon Sep 17 00:00:00 2001
From: Jean Abou Samra <jean@abou-samra.fr>
Date: Sun, 6 Nov 2022 15:55:24 +0100
Subject: [PATCH] Doc: document that eq?, eqv? and equal? take any number of
 arguments

---
 doc/ref/api-utility.texi | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/doc/ref/api-utility.texi b/doc/ref/api-utility.texi
index cb7e32f2b..27c6b42f7 100644
--- a/doc/ref/api-utility.texi
+++ b/doc/ref/api-utility.texi
@@ -55,11 +55,12 @@ made up of the same pairs.  Such lists look the same (when printed),
 and @code{equal?} will consider them the same.

 @sp 1
-@deffn {Scheme Procedure} eq? x y
+@deffn {Scheme Procedure} eq? @dots{}
 @deffnx {C Function} scm_eq_p (x, y)
 @rnindex eq?
-Return @code{#t} if @var{x} and @var{y} are the same object, except
-for numbers and characters.  For example,
+The Scheme procedure returns @code{#t} if all of its arguments are the
+same object, except for numbers and characters.  The C function does the
+same but takes exactly two arguments.  For example,

 @example
 (define x (vector 1 2 3))
@@ -109,18 +110,19 @@ The @code{==} operator should not be used on @code{SCM} values, an
 @end deftypefn

 @sp 1
-@deffn {Scheme Procedure} eqv? x y
+@deffn {Scheme Procedure} eqv? @dots{}
 @deffnx {C Function} scm_eqv_p (x, y)
 @rnindex eqv?
-Return @code{#t} if @var{x} and @var{y} are the same object, or for
-characters and numbers the same value.
+The Scheme procedure returns @code{#t} if all of its arguments are the
+same object, or for characters and numbers the same value.  The C function
+is similar but takes exactly two arguments.

 On objects except characters and numbers, @code{eqv?} is the same as
-@code{eq?} above, it's true if @var{x} and @var{y} are the same
-object.
+@code{eq?} above.  @code{(eqv? x y)} is true if @var{x} and @var{y} are
+the same object.

-If @var{x} and @var{y} are numbers or characters, @code{eqv?} compares
-their type and value.  An exact number is not @code{eqv?} to an
+If @var{x} and @var{y} are numbers or characters, @code{(eqv? x y)}
+compares their type and value.  An exact number is not @code{eqv?} to an
 inexact number (even if their value is the same).

 @example
@@ -130,11 +132,12 @@ inexact number (even if their value is the same).
 @end deffn

 @sp 1
-@deffn {Scheme Procedure} equal? x y
+@deffn {Scheme Procedure} equal? @dots{}
 @deffnx {C Function} scm_equal_p (x, y)
 @rnindex equal?
-Return @code{#t} if @var{x} and @var{y} are the same type, and their
-contents or value are equal.
+The Scheme procedure returns @code{#t} if all of its arguments are the
+same type, and their contents or value are equal.  The C function is
+similar, but takes exactly two arguments.

 For a pair, string, vector, array or structure, @code{equal?} compares the
 contents, and does so using the same @code{equal?} recursively,
--
2.37.3


Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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