[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Checking if all values of a list are true
From: |
Florian Beck |
Subject: |
Re: Checking if all values of a list are true |
Date: |
Fri, 11 Jul 2008 13:51:19 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Nordlöw <per.nordlow@gmail.com> writes:
> On 11 Juli, 13:33, Nordlöw <per.nord...@gmail.com> wrote:
>> On 11 Juli, 13:23, Nordlöw <per.nord...@gmail.com> wrote:
>>
>> > How do I check if all values of a list are true?
>>
>> > This is my attempt:
>> > (reduce 'and '(t t))
>>
>> > but I get the error: and (invalid-function and)
>>
>> > (functionp 'and)
>>
>> > gives true so why on earth doesn't this work?
Maybe because 'and is a special form, not a function.
Try (reduce #'(lambda (x y) (and x y)) '(t t t t t t t))
> It would be even better if Emacs already had a function typically
> named any-p(arg-list) that returned t if all values in arg-list are
> non-nil.
Something like
(defmacro every-p (list)
(cons 'and (eval list)))
CL has 'every:
(every 'eval '(t t t))
--
Florian Beck