There is a long-standing bug in the SRFI 1 specification that couldn't
be fixed because we didn't have an erratum process. The definitions of
`any`, `every`, and `list-index` specify that the predicates must return
a boolean result, i.e. `#t` or `#f`. This has never been the case:
all known implementations accept ordinary predicates that can return
any object other than `#f` to mean "true". The words "and returning a
boolean result" should be removed from each definition.
Here's a paragraph for the Status section:
Erratum: The procedures `any`, `every`, and `list-index` accept
predicates that can return any value other than `#f` to represent "true".
--
John Cowan http://www.ccil.org/~cowan xxxxxx@ccil.org
In my last lifetime, I believed in reincarnation;
in this lifetime, I don't. --Thiagi