Subject: Re: Seeking elegance :-)
From: (Rob Warnock)
Date: 1999/10/18
Newsgroups: comp.lang.scheme
Message-ID: <7ue0fo$>
Dave Pawson <> wrote:
| Predicate ~ asking a question. Tis what I was doing.

Not quite. A "predicate" is a question the answer to which is
either "true" or "false". Predicates in Scheme -- the ones whose
names conventionally end in "?" -- return the booleans #t or #f.
Examples: pair? string? eq? exact?

A "quasipredicate" is a function which returns either the boolean
#f or some other non-boolean (hence non-false) "useful" value(s).
As an indication of this fact, conventionally quasipredicates' names
do *not* end in "?".  Examples: member, assq, string->number

But AFAICT, what you were doing was *neither* a predicate nor
a quasipredicate, but a simple coordinate mapping, so "?" isn't
in accordance with standard Scheme style (and thus will confuse
readers of your code).


Rob Warnock, 8L-846
Applied Networking
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		FAX: 650-933-0511
Mountain View, CA  94043	PP-ASEL-IA