emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [External] : Re: [NonGNU ELPA] New package: Denote-Refs


From: Drew Adams
Subject: RE: [External] : Re: [NonGNU ELPA] New package: Denote-Refs
Date: Tue, 20 Dec 2022 17:39:18 +0000

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

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.

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]