From: Philip Kaludercic <philipk@posteo.net>
To: Drew Adams <drew.adams@oracle.com>
Cc: Akib Azmain Turja <akib@disroot.org>,
Emacs Developer List <emacs-devel@gnu.org>
Subject: Re: [External] : Re: [NonGNU ELPA] New package: Denote-Refs
Date: Wed, 21 Dec 2022 00:05:01 +0000 [thread overview]
Message-ID: <87cz8dei4y.fsf@posteo.net> (raw)
In-Reply-To: <SJ0PR10MB548856B6C2C8ACE8D7D5C1CAF3EA9@SJ0PR10MB5488.namprd10.prod.outlook.com> (Drew Adams's message of "Tue, 20 Dec 2022 17:39:18 +0000")
Drew Adams <drew.adams@oracle.com> writes:
>> While I understand why () doesn't need to be quoted -- in the sense that
>> the reader sees no difference between the empty list literal and the
>> empty list notation -- I just don't like the inconsistency between the
>> requirement to quote a non-empty list if I want to inhibit evaluation,
>> while this is not the case for an empty list.
>>
>> '(1 2 3) has to be quoted,
>> '(1 2) has to be quoted,
>> '(1) has to be quoted, but
>> '() suddenly doesn't?
>>
>> If it weren't necessary, I'd consider the `eq`ality
>> of '(), () and nil this an implementation detail.
>
> (list 1) and '(1) are (construct) conses.
> () isn't a cons.
>
> Not just an implementation detail - different
> critters - as different as nullary constructor
> `zero' and unary constructor `successor'.
>> Another point is that in the case of deftheme, the () might look like a
>> empty parameter list, sort of like how (defun foo () ...) might look
>> like. By explicitly quoting the list, we "clarify" that this is not the
>> same kind of thing.
>
> Can't speak to this; dunno what () you mean.
This one:
(defun foo (bar) baz)
^
or in the case of a nullary function:
(defun foo () baz)
^
> But `deftheme' is a macro. Any understanding
> of any of its parts has to come from the doc
> string (or code). A part (including ()) of a
> macro call could mean anything, depending on
> the macro definition.
I'll be honest, I have never used the MEMBERS parameter of `defgroup' (I
assume you meant that), but it appears it is passed without quotation:
(macroexpand-1 '(defgroup foo bar "This is a group"))
=> (custom-declare-group 'foo bar "This is a group")
That means that this list is not just a part of the "syntax structure",
as it is with `defun', but an actual value.
> Anyway, I appreciate your communicating the
> reasons behind your preference. There's no
> right or wrong when it comes to des goûts et
> des couleurs. Thx.
Sure, that is why I just suggested that Akib think about it, but if it
is his style to prefer nil over () or '(), then that is fine as well.
next prev parent reply other threads:[~2022-12-21 0:05 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-19 16:31 [NonGNU ELPA] New package: Denote-Refs Akib Azmain Turja
2022-12-19 16:58 ` Philip Kaludercic
2022-12-19 18:00 ` Akib Azmain Turja
2022-12-19 19:19 ` Philip Kaludercic
2022-12-19 20:20 ` [External] : " Drew Adams
2022-12-19 21:08 ` Philip Kaludercic
2022-12-19 21:51 ` Drew Adams
2022-12-20 16:48 ` Philip Kaludercic
2022-12-20 17:39 ` Drew Adams
2022-12-21 0:05 ` Philip Kaludercic [this message]
2022-12-21 5:22 ` Drew Adams
2022-12-21 9:07 ` Philip Kaludercic
2022-12-21 15:50 ` Drew Adams
2022-12-20 15:09 ` Akib Azmain Turja
2022-12-20 16:55 ` Philip Kaludercic
2022-12-20 20:17 ` Akib Azmain Turja
2022-12-20 22:02 ` Stefan Monnier
2022-12-21 16:03 ` Akib Azmain Turja
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87cz8dei4y.fsf@posteo.net \
--to=philipk@posteo.net \
--cc=akib@disroot.org \
--cc=drew.adams@oracle.com \
--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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).