... because I can discern the logic easier than the second. To explain why would require me to reveal how my brain works...
Cheers.
I'm on the same boat as MP - hence I'd use the most readable evaluation for me.
Coding Conventions == nullTime ago somewhere here I was discussing about how the perception about the syntax of the code changes for one
which is based on the time he spent writing in a certain language, by constantly changing or modifying his style of writing.
For example I'd dare to assume that MP's lisp coding syntax wasn't figured out in a single night by him, but rather constantly re-styled through the years.
One could trace Lee's syntax style from 2008 and how it changed till now..
I've also changed my style of writing many times, so I couldn't figure out what I was writing like 2 months ago (but in the end I ended-up with one that works for me).
BTW would be more easier to point out the different evaluations if we wrap them in a defuns, just like Marc'Antonio Alessi suggested -
(defun f1 (x y)
(not (and x y))
)
(defun f2 (x y)
(or (not x) (not y))
)
(defun f3 ( x y )
(vl-some 'not (list x y))
)
(defun f4 ( x y )
(not (vl-every 'eval (list x y)))
)
(defun f5 ( x y )
(not (if x y))
)
(defun f6 ( x y )
(cond
( (not x) )
( (not y) )
)
)
Sample test to check if our evaluations work as expected -
(mapcar
'(lambda (x)
(list
(apply 'f1 x)
(apply 'f2 x)
(apply 'f3 x)
(apply 'f4 x)
(apply 'f5 x)
(apply 'f6 x)
)
)
'((t nil)(nil t)(t t)(nil nil))
)
>> ((T T T T T T) (T T T T T T) (nil nil nil nil nil nil) (T T T T T T))
If the speed doesn't matter then my reading preferences would be on the evaluations within the functions
f3 and
f6.
f6 brings me memories about a fragment of John's
post which stated this:
Ultimatly all that was required was a simple COND statement to implement the concept
Cheers!