all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: "Michael Heerdegen" <michael_heerdegen@web.de>,
	ke.vigouroux@laposte.net, 40671@debbugs.gnu.org,
	"Mattias Engdegård" <mattiase@acm.org>,
	"Richard Stallman" <rms@gnu.org>
Subject: bug#40671: [DOC] modify literal objects
Date: Sun, 17 May 2020 15:39:09 +0300	[thread overview]
Message-ID: <00ea7e60-9e47-9fce-52a7-cf66df6e180a@yandex.ru> (raw)
In-Reply-To: <a4f75317-a109-d672-04cb-9067fd025776@cs.ucla.edu>

On 17.05.2020 04:28, Paul Eggert wrote:
> On 5/11/20 6:59 PM, Dmitry Gutov wrote:
> 
>> I think that's exactly what a "constraint" means: something that is enforced.
> 
> Not necessarily. In some software systems constraints are not enforced. (Use
> Google to search for "unenforced constraints", which can be quite the thing in
> the database world.) But I am straying from the documentation issue.

An existence of a technical term doesn't really cancel out the regular 
meaning of the word.

>> The symbol-name example? I'm not sure it's really important to
>> warn about this one in particular.
> 
> OK, but then you also write:
> 
>>   When one tries to
>> describe "unsafe" things to do, they don't just give a few examples, they
>> usually try to cover all cases.
> 
> ... and symbol-name is one of the cases.

These are just two distinct points:

1. You seem to be trying to redefine the term "motable" as a way to 
avoid enumerating all possible cases. But since the meaning of the term 
is different from how it is understood in the English language, it 
should at least have a proper definition. But the said definition would 
have to cover the possible cases too.

2. symbol-name seems like something we don't have to explain specially. 
So if that's the only counter-example to "values that appear in 
expressions", or whichever phrase we chose, then we could as well just 
on the phrase and dispense with additional complications. Which would 
also make having a redefinition of the term "mutable" less relevant.

> As far as the bigger project (cover all the cases) goes, I don't know how
> feasible that would be. I suppose someone could take that on as a further task.
> In the attached patch I did add one more example, of calling the copy-sequence
> function, but there would be lots more examples where that came from.
> 
>> Inventing a name for such values doesn't help if the user doesn't have enough
>> knowledge to avoid all members of this set. Or is "part of an expression that is
>> evaluated" after all the test we'll be teaching?
> 
> No, it's not the only way that something can be a constant. This is why the
> (symbol-name 'cons) example is relevant: it yields a string that has never been
> "part of an expression that is evaluated".

There's an argument to be made that the name of the symbol 'cons is part 
of any expression or program that uses `cons'.

>> By the way, I have read last two paragraphs of that section now. C and
>> "constants" are still there.
> 
> It's appropriate to talk about constants in the footnote that mentions languages
> that have constants. And the footnote is helpful, because it documents the core
> issue that prompted this long thread: different languages/traditions mean
> different things by the word "constant" and/or "immutable", and the footnote
> makes it clear that the documentation's "objects that should not be changed"
> follows the Common Lisp / C tradition, not the Python / JavaScript tradition.
> 
> That being said, it'd be helpful if the footnote mentions both "constants" and
> "immutable objects" if only to remind readers of relevant buzzwords. So I did
> that in the attached patch.

I like that change, thank you.

>> I'm curious to see the discussion about actually making this error at runtime in
>> one of the next Emacs version.
> 
> Me too. That's for a later thread, one that I'd like to get rolling instead of
> worrying about the minor details in the current doc. To help get things rolling
> I installed the patch that I proposed earlier, followed by the attached minor
> patch that attempt to address the abovementioned issues. I plan to look at
> improving the runtime checking next.

OK, thank you.

My intuition, though, that making cases like the one you just changed in 
emacs-lisp-mode-tests.el blow up at runtime will create a massive 
backward incompatibility.





  parent reply	other threads:[~2020-05-17 12:39 UTC|newest]

Thread overview: 170+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-16 19:28 bug#40671: [DOC] modify literal objects Kevin Vigouroux via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-04-17 16:09 ` Mattias Engdegård
2020-04-17 16:37   ` Mattias Engdegård
2020-04-17 17:27     ` Eli Zaretskii
2020-04-18 20:10 ` Paul Eggert
2020-04-18 21:54   ` Drew Adams
2020-04-19  2:39     ` Noam Postavsky
2020-04-19 20:39     ` Paul Eggert
2020-04-19 21:01       ` Drew Adams
2020-04-19 21:16         ` Paul Eggert
2020-04-19 22:24           ` Drew Adams
2020-04-19 22:51             ` Paul Eggert
2020-04-20  5:32               ` Drew Adams
2020-04-22 17:36                 ` Paul Eggert
2020-05-01  3:03     ` Dmitry Gutov
2020-05-01  5:16       ` Drew Adams
2020-05-01 21:46       ` Paul Eggert
2020-05-01 23:37         ` Dmitry Gutov
2020-04-19  2:26   ` Richard Stallman
2020-04-19 13:56   ` Eli Zaretskii
2020-04-19 16:59     ` Mattias Engdegård
2020-04-19 19:21       ` Eli Zaretskii
2020-04-19 21:02       ` Paul Eggert
2020-04-19 21:11         ` Drew Adams
2020-04-19 21:57         ` Michael Heerdegen
2020-04-19 22:41           ` Paul Eggert
2020-04-19 23:45             ` Michael Heerdegen
2020-04-20  0:24               ` Paul Eggert
2020-04-20  0:53                 ` Michael Heerdegen
2020-04-20  3:23                   ` Paul Eggert
2020-04-20  3:36                     ` Michael Heerdegen
2020-04-22  6:30                       ` Paul Eggert
2020-04-20  5:54                     ` Drew Adams
2020-04-22 17:21                       ` Paul Eggert
2020-04-23  0:49                         ` Michael Heerdegen
2020-04-24  2:36                           ` Richard Stallman
2020-04-24 15:08                             ` Drew Adams
2020-04-25  1:58                               ` Paul Eggert
2020-04-24 16:39                             ` Mattias Engdegård
2020-04-24 16:46                               ` Dmitry Gutov
2020-04-25  2:21                                 ` Paul Eggert
2020-04-25  2:40                                   ` Dmitry Gutov
2020-04-25  3:20                                     ` Paul Eggert
2020-04-25 19:30                                       ` Dmitry Gutov
2020-04-26  3:49                                         ` Paul Eggert
2020-04-26 14:03                                           ` Dmitry Gutov
2020-04-26 14:19                                             ` Eli Zaretskii
2020-04-26 14:34                                               ` Dmitry Gutov
2020-04-26 15:46                                                 ` Eli Zaretskii
2020-04-26 16:02                                                   ` Dmitry Gutov
2020-04-26 16:58                                                     ` Eli Zaretskii
2020-04-26 17:39                                                       ` Dmitry Gutov
2020-04-26 18:14                                                         ` Eli Zaretskii
2020-04-26 18:32                                                           ` Dmitry Gutov
2020-04-26 18:41                                                             ` Eli Zaretskii
2020-04-26 18:53                                                               ` Dmitry Gutov
2020-04-26 18:57                                             ` Paul Eggert
2020-04-26 19:22                                               ` Philipp Stephani
2020-04-26 20:14                                                 ` Paul Eggert
2020-04-26 21:23                                               ` Dmitry Gutov
2020-04-26 23:13                                                 ` Paul Eggert
2020-04-27  0:53                                                   ` Dmitry Gutov
2020-04-27  1:49                                                     ` Paul Eggert
2020-04-28  3:05                                                       ` Dmitry Gutov
2020-04-28  8:17                                                         ` Paul Eggert
2020-04-28 13:54                                                           ` Dmitry Gutov
2020-04-28 17:59                                                             ` Paul Eggert
2020-04-28 18:46                                                               ` Dmitry Gutov
2020-04-28 19:20                                                                 ` Paul Eggert
2020-04-28 19:33                                                                   ` Dmitry Gutov
2020-04-28 20:09                                                                     ` Paul Eggert
2020-04-28 21:10                                                                       ` Dmitry Gutov
2020-04-28 23:10                                                                         ` Paul Eggert
2020-04-28 23:36                                                                           ` Dmitry Gutov
2020-04-28 23:53                                                                             ` Paul Eggert
2020-04-28 23:57                                                                               ` Dmitry Gutov
2020-04-28 23:53                                                                           ` Dmitry Gutov
2020-04-29  0:04                                                                             ` Paul Eggert
2020-04-29  0:14                                                                               ` Dmitry Gutov
2020-04-29  0:55                                                                           ` Drew Adams
2020-04-29  1:03                                                                             ` Dmitry Gutov
2020-04-29  1:15                                                                               ` Drew Adams
2020-04-29  1:27                                                                                 ` Michael Heerdegen
2020-04-29  1:38                                                                             ` Paul Eggert
2020-04-29  4:36                                                                               ` Drew Adams
2020-04-29 16:18                                                                                 ` Paul Eggert
2020-05-01  2:47                                                                                   ` Richard Stallman
2020-05-01  6:23                                                                                     ` Eli Zaretskii
2020-05-01  3:13                                                                               ` Dmitry Gutov
2020-05-01  5:15                                                                                 ` Drew Adams
2020-05-01 21:40                                                                                 ` Paul Eggert
2020-05-01 22:05                                                                                   ` Drew Adams
2020-05-01 22:28                                                                                     ` Paul Eggert
2020-05-02  1:07                                                                                   ` Dmitry Gutov
2020-05-02  6:28                                                                                     ` Paul Eggert
2020-05-02 15:42                                                                                       ` Dmitry Gutov
2020-05-02 19:35                                                                                         ` Paul Eggert
2020-05-03  1:30                                                                                           ` Dmitry Gutov
2020-05-03  7:40                                                                                             ` Paul Eggert
2020-05-03 16:44                                                                                               ` Dmitry Gutov
2020-05-03 20:48                                                                                                 ` Paul Eggert
2020-05-03 22:17                                                                                                   ` Dmitry Gutov
2020-05-03 22:18                                                                                                   ` Dmitry Gutov
2020-05-03 22:39                                                                                                     ` Paul Eggert
2020-05-03 22:53                                                                                                       ` Dmitry Gutov
2020-05-03 23:10                                                                                                         ` Paul Eggert
2020-05-04 10:16                                                                                                           ` Dmitry Gutov
2020-05-04 17:52                                                                                                             ` Paul Eggert
2020-05-05  1:39                                                                                                               ` Dmitry Gutov
2020-05-05  6:09                                                                                                                 ` Paul Eggert
2020-05-05 12:38                                                                                                                   ` Dmitry Gutov
2020-05-09  6:10                                                                                                                     ` Paul Eggert
2020-05-10  3:13                                                                                                                       ` Dmitry Gutov
2020-05-10 13:34                                                                                                                         ` Dmitry Gutov
2020-05-10 17:29                                                                                                                         ` Paul Eggert
2020-05-11  0:00                                                                                                                           ` Michael Heerdegen
2020-05-11  0:26                                                                                                                             ` Dmitry Gutov
2020-05-11  1:47                                                                                                                             ` Drew Adams
2020-05-11  1:54                                                                                                                               ` Dmitry Gutov
2020-05-11  2:33                                                                                                                                 ` Drew Adams
2020-05-11  2:56                                                                                                                               ` Michael Heerdegen
2020-05-11  4:21                                                                                                                                 ` Drew Adams
2020-05-11  4:51                                                                                                                                   ` Michael Heerdegen
2020-05-11  6:28                                                                                                                                     ` Paul Eggert
2020-05-11 13:57                                                                                                                                       ` Noam Postavsky
2020-05-11 22:36                                                                                                                                         ` Michael Heerdegen
2020-05-11 22:30                                                                                                                                       ` Michael Heerdegen
2020-05-12  3:20                                                                                                                                       ` Richard Stallman
2020-05-12  4:24                                                                                                                                         ` Michael Heerdegen
2020-05-13  3:57                                                                                                                                           ` Richard Stallman
2020-05-13  5:05                                                                                                                                             ` Michael Heerdegen
2020-05-14  5:14                                                                                                                                               ` Richard Stallman
     [not found]                                                                                                                                       ` <05BEF593-F16A-4DEE-98BC-653221F1F9EE@acm.org>
2020-05-17  0:11                                                                                                                                         ` Paul Eggert
2020-05-17  9:43                                                                                                                                           ` Mattias Engdegård
2020-05-17 16:38                                                                                                                                             ` Paul Eggert
2020-05-11  1:53                                                                                                                             ` Paul Eggert
2020-05-11  3:18                                                                                                                               ` Michael Heerdegen
2020-05-11  0:44                                                                                                                           ` Dmitry Gutov
2020-05-11  1:57                                                                                                                             ` Paul Eggert
2020-05-12  1:59                                                                                                                               ` Dmitry Gutov
2020-05-17  1:28                                                                                                                                 ` Paul Eggert
2020-05-17  5:02                                                                                                                                   ` Michael Heerdegen
2020-05-17 16:34                                                                                                                                     ` Paul Eggert
2020-05-17 12:39                                                                                                                                   ` Dmitry Gutov [this message]
2020-05-17 16:21                                                                                                                                     ` Paul Eggert
2020-05-05 17:40                                                                                                                   ` Drew Adams
2020-05-05 18:49                                                                                                                     ` Dmitry Gutov
2020-05-05 19:26                                                                                                                       ` Drew Adams
2020-05-05 20:48                                                                                                               ` Kevin Vigouroux via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-05-09  5:57                                                                                                                 ` Paul Eggert
2020-04-28 21:18                                                                       ` Dmitry Gutov
2020-04-28 17:25                                                           ` Drew Adams
2020-04-28 17:47                                                             ` Paul Eggert
2020-04-29  0:32                                                               ` Michael Heerdegen
2020-04-29  1:40                                                                 ` Paul Eggert
2020-04-29  4:40                                                                   ` Michael Heerdegen
2020-04-29  8:01                                                                     ` Eli Zaretskii
2020-04-29 16:36                                                                 ` Paul Eggert
2020-04-24 17:18                               ` Drew Adams
2020-04-25  3:38                               ` Richard Stallman
2020-04-25 18:26                                 ` Paul Eggert
2020-04-25  2:22                           ` Paul Eggert
2020-04-25  6:00                             ` Andreas Schwab
2020-04-25 18:23                               ` Paul Eggert
2020-04-28 23:52                             ` Michael Heerdegen
2020-04-21  1:25               ` Michael Heerdegen
2020-04-21  2:20                 ` Paul Eggert
2020-04-20  6:02             ` Drew Adams
2020-04-19 20:45     ` Paul Eggert
2020-04-20 14:10       ` Eli Zaretskii

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=00ea7e60-9e47-9fce-52a7-cf66df6e180a@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=40671@debbugs.gnu.org \
    --cc=eggert@cs.ucla.edu \
    --cc=ke.vigouroux@laposte.net \
    --cc=mattiase@acm.org \
    --cc=michael_heerdegen@web.de \
    --cc=rms@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.