emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: newsticker-start: Recursive laod error


From: Thien-Thi Nguyen
Subject: Re: newsticker-start: Recursive laod error
Date: 14 Dec 2005 19:35:36 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Ulf Jasper <address@hidden> writes:

> the "(< 0 (length LIST)) === LIST" part to newbie me?

the "===" means "equivalent in a predicate context" here (sorry for the
confusion; this is ttn-post-C2H5OH notation :-).  i suppose i should have
continued to quote "in a predicate", which was at the beginning of my original
message -- that is the key to this thread.

at the risk of proving myself an unsuccessful pedant: in a predicate context
(where the answer to the question is true or false), we start w/ the axiom
that the empty list has value nil.  e.g.: (make-list 0 FOO) => nil.  then we
follow this chain of reasoning: non-empty list => non-nil => non-false =>
"close enough to true to be interpreted as true (i.e., far enough from false
to be not interpreted as false)".

the predicate context clamps values.  this clamping is what (seemingly
ironically, one reflects) frees us from strict adherence to "abstraction
purity"; we can move from good design to better design.  [insert spiel about
recognizing premature optimization and shrugging one's shoulders, here...]

to sum up, to answer the question in this particular predicate context, one
need not compute a truth value using a function; it is sufficient to look at
the underlying data structure, i.e., the list as a value held in a variable.

thi




reply via email to

[Prev in Thread] Current Thread [Next in Thread]