[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CL package serious deficiencies
From: |
Johan Bockgård |
Subject: |
Re: CL package serious deficiencies |
Date: |
Fri, 10 Feb 2012 19:47:24 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.93 (gnu/linux) |
Stefan Monnier <address@hidden> writes:
>> I think the `-if' and `-if-not' help with reading comprehension, because
>> you're signalling in the function name what you mean to do, and you
>> don't have to read the predicate as thoroughly. And the predicate can
>> be written clearer, too. If you don't have both forms, the predicate
>> often tends to look like `(lambda (foo) (not ...))', which makes my
>> brain hurt.
>
> That's just a question of habit, really.
>
> [ You might prefer "delete-if (¬ ∘ pred) list", of course. ]
AKA `complement' in Common Lisp:
--8<---------------cut here---------------start------------->8---
(complement x) == #'(lambda (&rest arguments) (not (apply x arguments)))
In Common Lisp, functions with names like "xxx-if-not" are related to
functions with names like "xxx-if" in that
(xxx-if-not f . arguments) == (xxx-if (complement f) . arguments)
For example,
(find-if-not #'zerop '(0 0 3)) ==
(find-if (complement #'zerop) '(0 0 3)) => 3
--8<---------------cut here---------------end--------------->8---
- Re: CL package serious deficiencies, (continued)
- Re: CL package serious deficiencies, Nix, 2012/02/09
- Re: CL package serious deficiencies, John Wiegley, 2012/02/09
- Re: CL package serious deficiencies, Stefan Monnier, 2012/02/10
- Re: CL package serious deficiencies, Juanma Barranquero, 2012/02/10
- RE: CL package serious deficiencies, Drew Adams, 2012/02/10
- Re: CL package serious deficiencies, Stefan Monnier, 2012/02/10
- RE: CL package serious deficiencies, Drew Adams, 2012/02/10
- Re: CL package serious deficiencies, Lars Ingebrigtsen, 2012/02/10
- Re: CL package serious deficiencies, Stefan Monnier, 2012/02/10
- Re: CL package serious deficiencies, Lars Ingebrigtsen, 2012/02/10
- Re: CL package serious deficiencies,
Johan Bockgård <=
- Re: CL package serious deficiencies, Helmut Eller, 2012/02/10
- Re: CL package serious deficiencies, Stefan Monnier, 2012/02/10
- Re: CL package serious deficiencies, Lars Ingebrigtsen, 2012/02/10
- Re: CL package serious deficiencies, Helmut Eller, 2012/02/10
- Re: CL package serious deficiencies, Stefan Monnier, 2012/02/12
- Re: CL package serious deficiencies, Helmut Eller, 2012/02/12
- Re: CL package serious deficiencies, Stefan Monnier, 2012/02/12
- Re: CL package serious deficiencies, Helmut Eller, 2012/02/12
- Re: CL package serious deficiencies, Teemu Likonen, 2012/02/11
- Re: CL package serious deficiencies, Juanma Barranquero, 2012/02/11