unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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.



  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).