Subject: Re: Seeking elegance :-)
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 1999/10/18
Newsgroups: comp.lang.scheme
Message-ID: <7ue0fo$4n1sl@fido.engr.sgi.com>
Dave Pawson <dave.pawson@virgin.net> 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

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