Re: conjoin and disjoin

John Cowan <[email protected]> Wed, 1 Apr 2026 23:39:40 -0400
Newsgroups gmane.lisp.guile.devel
Message-ID <CAD2gp_RPDi4m1g3VT=TSiLihA+284PK5mUD7iA5WWykpW38A3g@mail.gmail.com>
On Mon, Mar 30, 2026 at 5:47=E2=80=AFPM Peter McGoron <[email protected]> w=
rote:

> Although `predicate` is usually a procedure of one argument

Definitely not.   R[57]RS says:  "By convention, ? is the final
character of the names of procedures that always return a boolean
value. Such procedures are called predicates." There is nothing said
about the number of arguments:  In particular, `eq?`, `eqv?`, and
`equal?` are predicates that take two arguments, and the various
ordering predicates take two or more of them.

> "predicate ... applied ... to the args" seems
> to imply that the "predicate"s are applied to each of the list of
> arguments in turn.

Just so.

> So I believe that a modification to the sample implementation that is
> equivalent to the code you posted would be sufficient, and it does not
> require a change to the SRFI.

I agree.