From: "Johan Bockgård" <bojohan@gnu.org>
To: emacs-devel@gnu.org
Subject: Re: CL package serious deficiencies
Date: Fri, 10 Feb 2012 19:47:24 +0100 [thread overview]
Message-ID: <87fweiikzn.fsf@gnu.org> (raw)
In-Reply-To: <jwvipje3670.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Fri, 10 Feb 2012 13:24:00 -0500")
Stefan Monnier <monnier@iro.umontreal.ca> 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---
next prev parent reply other threads:[~2012-02-10 18:47 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-06 14:18 CL package serious deficiencies egnarts-ms
2012-02-06 21:08 ` Stefan Monnier
2012-02-06 21:53 ` Drew Adams
2012-02-07 3:02 ` Stefan Monnier
2012-02-07 12:04 ` egnarts-ms
2012-02-07 17:36 ` Stefan Monnier
2012-02-08 13:15 ` egnarts-ms
2012-02-08 19:07 ` Stefan Monnier
2012-02-07 12:29 ` egnarts-ms
2012-02-07 18:43 ` Nix
2012-02-07 19:11 ` Lennart Borgman
2012-02-07 19:15 ` Juanma Barranquero
2012-02-07 20:54 ` Lennart Borgman
2012-02-07 21:03 ` John Wiegley
2012-02-07 21:06 ` Nix
2012-02-07 21:08 ` Lennart Borgman
2012-02-07 21:10 ` Nix
2012-02-07 21:12 ` Lennart Borgman
2012-02-07 21:23 ` Nix
2012-02-07 21:29 ` Lennart Borgman
2012-02-07 21:30 ` Nix
2012-02-07 21:32 ` Glenn Morris
2012-02-07 21:34 ` Daniel Colascione
2012-02-07 21:42 ` Tom Tromey
2012-02-08 1:53 ` Leo
2012-02-07 22:16 ` Alan Mackenzie
2012-02-07 22:19 ` Nix
2012-02-08 13:28 ` Richard Stallman
2012-02-08 15:00 ` Tom Tromey
2012-02-09 6:29 ` Richard Stallman
2012-02-09 14:23 ` Eric Schulte
2012-02-10 15:44 ` Richard Stallman
2012-02-10 18:36 ` Tom Tromey
2012-02-10 15:52 ` Tom Tromey
2012-02-10 16:23 ` Drew Adams
2012-02-10 16:42 ` Ted Zlatanov
2012-02-09 6:30 ` Richard Stallman
2012-02-09 13:56 ` Ted Zlatanov
2012-02-10 15:44 ` Richard Stallman
2012-02-10 18:34 ` Tom Tromey
2012-02-10 15:48 ` Tom Tromey
2012-02-10 18:29 ` Stefan Monnier
2012-02-08 2:07 ` Stephen J. Turnbull
2012-02-07 22:41 ` Glenn Morris
2012-02-07 23:10 ` Nix
2012-02-08 13:42 ` Eric Schulte
2012-02-08 13:46 ` Lennart Borgman
2012-02-08 13:51 ` Eric Schulte
2012-02-08 15:29 ` Lennart Borgman
2012-02-08 15:39 ` Eric Schulte
2012-02-08 15:43 ` Lennart Borgman
2012-02-08 14:26 ` Drew Adams
2012-02-08 13:15 ` Teemu Likonen
2012-02-09 7:33 ` spam- or registry-related things in Gnus need cl at run-time? (was: CL package serious deficiencies) Reiner Steib
2012-02-09 16:39 ` spam- or registry-related things in Gnus need cl at run-time? Teemu Likonen
2012-02-07 23:48 ` CL package serious deficiencies Stefan Monnier
2012-02-07 23:52 ` Nix
2012-02-08 0:10 ` Lennart Borgman
2012-02-08 0:15 ` Nix
2012-02-08 1:51 ` Stefan Monnier
2012-02-08 23:43 ` Nix
2012-02-09 21:34 ` Stefan Monnier
2012-02-08 2:13 ` Stephen J. Turnbull
2012-02-08 2:19 ` Lennart Borgman
2012-02-08 4:23 ` Stephen J. Turnbull
2012-02-08 11:00 ` Lennart Borgman
2012-02-08 17:42 ` Richard Stallman
2012-02-08 19:54 ` Stefan Monnier
2012-02-08 0:38 ` Daniel Colascione
2012-02-08 1:32 ` Lennart Borgman
2012-02-08 1:53 ` Stefan Monnier
2012-02-08 2:26 ` Daniel Colascione
2012-02-08 22:28 ` Lars Ingebrigtsen
2012-02-08 22:32 ` Lennart Borgman
2012-02-08 23:35 ` Nix
2012-02-09 19:42 ` Richard Stallman
2012-02-09 19:46 ` Nix
2012-02-10 1:09 ` John Wiegley
2012-02-10 14:38 ` Stefan Monnier
2012-02-10 15:08 ` Juanma Barranquero
2012-02-10 15:35 ` Drew Adams
2012-02-10 18:15 ` Stefan Monnier
2012-02-10 18:21 ` Drew Adams
2012-02-10 15:24 ` Lars Ingebrigtsen
2012-02-10 18:24 ` Stefan Monnier
2012-02-10 18:26 ` Lars Ingebrigtsen
2012-02-10 18:47 ` Johan Bockgård [this message]
2012-02-10 17:12 ` Helmut Eller
2012-02-10 18:51 ` Stefan Monnier
2012-02-10 18:55 ` Lars Ingebrigtsen
2012-02-10 19:08 ` Teemu Likonen
2012-02-11 13:25 ` Juanma Barranquero
2012-02-11 16:56 ` Johan Bockgård
2012-02-11 22:33 ` Juanma Barranquero
2012-02-12 4:41 ` Stefan Monnier
2012-02-12 15:53 ` Teemu Likonen
2012-02-12 16:52 ` Stefan Monnier
2012-02-12 16:55 ` Stefan Monnier
2012-02-10 23:56 ` Helmut Eller
2012-02-12 4:47 ` Stefan Monnier
2012-02-12 17:39 ` Helmut Eller
2012-02-12 18:15 ` Stefan Monnier
2012-02-12 18:58 ` Helmut Eller
2012-02-19 12:52 ` Dimitri Fontaine
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fweiikzn.fsf@gnu.org \
--to=bojohan@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.