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