unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Philippe Vaucher <philippe.vaucher@gmail.com>
Cc: Philipp Stephani <p.stephani2@gmail.com>,
	Drew Adams <drew.adams@oracle.com>,
	Emacs developers <emacs-devel@gnu.org>
Subject: Re: Emacs 26.1 release branch created
Date: Wed, 27 Sep 2017 18:43:25 +0000	[thread overview]
Message-ID: <20170927184325.GA4653@ACM> (raw)
In-Reply-To: <CAGK7Mr5ZZBhB0Wkmr-JLnEbiurKTf8U0MzCcV4xF6_U8swKJBg@mail.gmail.com>

Hello, Philippe.

On Wed, Sep 27, 2017 at 13:54:29 +0200, Philippe Vaucher wrote:

> > > Early Lisps had only dynamic binding because people didn't know better.
> > But
> > > now we know that global mutable state is almost always undesirable and
> > > avoid id wherever we can.

> > But my buffers are global mutable states.  The whole world is a global
> > mutable state.  Literally.  How can we model them without such things in
> > our languages?  Why would we want to?


> I think this is the wrong way to approach this. What counts here are the
> benefits: by avoiding global mutable state we make code that is easier to
> reason about, easier to test, etc.

What about the costs?  Emacs has a large state, including variable
numbers of buffers, variable variables (libraries can be loaded at any
time), variable properties and text properties, ....

What you're asserting, I think, is that there is a better way to house
this state rather than "globally".  No details of this other way have
been forthcoming.

> There is simply no real argument for using global mutable state when we can
> avoid it, .....

I suspect that in Emacs we can't.  Or if we could, it would be at too
great a cost.

> .... except for somewhat weak arguments like "it's convenient" or
> "it'd require too much refactoring".

They're weak arguments?  I'd like to hear what might be considered
strong ones!

> Philippe

-- 
Alan Mackenzie (Nuremberg, Germany).



  reply	other threads:[~2017-09-27 18:43 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-16 12:56 Emacs 26.1 release branch created Eli Zaretskii
2017-09-16 13:01 ` Eli Zaretskii
2017-09-16 13:09 ` Mark Oteiza
2017-09-16 13:39   ` Eli Zaretskii
2017-09-16 14:51     ` Mark Oteiza
2017-09-16 14:58       ` Eli Zaretskii
2017-09-22 16:59         ` Mark Oteiza
2017-09-22 19:59           ` Eli Zaretskii
2017-09-22 20:05             ` Mark Oteiza
2017-09-22 20:11               ` Eli Zaretskii
2017-09-22 20:13                 ` Mark Oteiza
2017-09-29 20:25         ` [PATCH] lcms2 (was Re: Emacs 26.1 release branch created) Mark Oteiza
2017-09-30  9:22           ` Eli Zaretskii
2017-09-16 14:18 ` Emacs 26.1 release branch created Alan Mackenzie
2017-09-16 17:05 ` Rasmus
2017-09-16 17:34   ` Eli Zaretskii
2017-09-18  9:36     ` Rasmus
2017-09-18  9:47       ` Rasmus
2017-09-20 11:45         ` Kaushal Modi
2017-09-20 11:59           ` Nicolas Petton
2017-09-20 12:01             ` Kaushal Modi
2017-09-20 12:17           ` Rasmus
2017-09-20 12:24             ` Kaushal Modi
2017-09-20 13:03               ` Rasmus
2017-09-16 18:06 ` Nicolas Petton
2017-09-16 19:54 ` Lars Ingebrigtsen
2017-09-17  2:31   ` Eli Zaretskii
2017-09-18 16:22 ` Alan Third
2017-09-18 17:36   ` Eli Zaretskii
2017-09-19 17:35 ` Alan Mackenzie
2017-09-19 17:54   ` Eli Zaretskii
2017-09-19 18:09     ` Alan Mackenzie
2017-09-19 18:34       ` Eli Zaretskii
2017-09-19 18:36         ` Eli Zaretskii
2017-09-19 19:11         ` Paul Eggert
2017-09-19 19:43           ` Alan Mackenzie
2017-09-19 20:54             ` About curly quotes (again) [Was: Emacs 26.1 release branch created] Kaushal Modi
2017-09-19 21:09               ` Alan Mackenzie
2017-09-19 23:33                 ` John Wiegley
2017-09-20  0:00                   ` Paul Eggert
2017-09-20  4:16                   ` Marcin Borkowski
2017-09-20  6:17                     ` Noam Postavsky
2017-09-23 11:18                       ` Marcin Borkowski
2017-09-23 12:14                         ` Eli Zaretskii
2017-09-23 19:40                           ` Marcin Borkowski
2017-09-24  2:46                             ` Eli Zaretskii
2017-09-25 13:40                               ` Marcin Borkowski
2017-09-25 18:57                                 ` Eli Zaretskii
2017-09-26 12:39                                   ` Marcin Borkowski
2017-09-29 12:22                                     ` Eli Zaretskii
2017-09-30  7:58                                       ` Marcin Borkowski
2017-09-30  8:31                                         ` Eli Zaretskii
2017-09-30 20:03                                           ` Marcin Borkowski
2017-09-20 17:44                     ` Drew Adams
2017-09-20  6:41                   ` Eli Zaretskii
2017-09-20 14:45                     ` John Wiegley
2017-09-20 14:48                       ` Eli Zaretskii
2017-09-21 17:30                       ` Filipp Gunbin
2017-09-19 23:14             ` Emacs 26.1 release branch created Paul Eggert
2017-09-20  6:41             ` Eli Zaretskii
2017-09-20 13:01             ` Richard Stallman
2017-09-20 13:10               ` Eli Zaretskii
2017-09-20 20:37                 ` Richard Stallman
2017-09-21 20:36                   ` Paul Eggert
     [not found]             ` <<E1duedQ-0002Bs-O3@fencepost.gnu.org>
2017-09-20 17:50               ` Drew Adams
2017-09-20  6:32           ` Eli Zaretskii
2017-09-19 17:58   ` Paul Eggert
2017-09-20 18:30   ` John Wiegley
2017-09-21 20:54     ` Alan Mackenzie
2017-09-22  5:19       ` Paul Eggert
2017-09-22  5:58         ` John Wiegley
2017-09-22 18:04         ` Alan Mackenzie
2017-09-22 18:47           ` John Wiegley
2017-09-22 20:42           ` Paul Eggert
2017-09-24 14:33             ` Alan Mackenzie
2017-09-24 18:13               ` Paul Eggert
2017-09-24 20:18                 ` Alan Mackenzie
2017-09-22  7:17       ` Eli Zaretskii
2017-09-22 18:41         ` Alan Mackenzie
2017-09-22 19:09           ` Stefan Monnier
2017-09-22 19:28           ` John Wiegley
2017-09-22 19:35             ` Alan Mackenzie
2017-09-22 19:46               ` John Wiegley
2017-09-22 22:07                 ` Alan Mackenzie
2017-09-24 14:39                   ` Alan Mackenzie
2017-09-24 18:26                     ` Paul Eggert
2017-09-24 19:41                       ` Alan Mackenzie
2017-09-24 23:16                         ` John Wiegley
2017-09-25  0:08                           ` Paul Eggert
2017-09-25  4:23                             ` John Wiegley
2017-09-25 19:03                               ` Alan Mackenzie
2017-09-25 19:43                                 ` Drew Adams
2017-09-25 20:24                                   ` John Wiegley
2017-09-25 22:25                                     ` Paul Eggert
2017-09-26  2:52                                       ` Drew Adams
2017-09-26  3:23                                         ` Paul Eggert
2017-09-26 19:28                                         ` Philipp Stephani
2017-09-26 20:26                                           ` Alan Mackenzie
2017-09-27  9:15                                             ` Alexis
2017-09-27 22:13                                               ` Richard Stallman
2017-09-28  1:48                                                 ` Alexis
2017-09-27 23:41                                               ` Óscar Fuentes
2017-09-28  1:25                                                 ` Alexis
2017-09-27 11:54                                             ` Philippe Vaucher
2017-09-27 18:43                                               ` Alan Mackenzie [this message]
2017-09-28  7:42                                                 ` Philippe Vaucher
2017-09-26 20:33                                           ` Drew Adams
2017-09-29 10:42                                         ` Eli Zaretskii
2017-09-29  9:34                                   ` Eli Zaretskii
     [not found]                                   ` <<83shf597b0.fsf@gnu.org>
2017-09-30  4:06                                     ` Drew Adams
2017-09-30  4:41                                       ` Paul Eggert
2017-09-30 13:58                                         ` Drew Adams
2017-09-25 23:36                                 ` Paul Eggert
2017-09-30 12:10                                   ` Alan Mackenzie
2017-10-01  0:16                                     ` Paul Eggert
2017-10-01 11:37                                       ` Alan Mackenzie
2017-09-25  5:51                         ` Paul Eggert
2017-09-22 19:35           ` Eli Zaretskii
2017-09-27 18:09 ` João Távora
2017-09-27 19:32   ` John Wiegley
2017-09-28  7:28     ` João Távora
2017-09-28  7:28     ` João Távora
2017-09-28 16:58       ` John Wiegley
2017-09-29 15:44   ` Eli Zaretskii
2017-09-29 17:04     ` João Távora
2017-09-29 18:11       ` Eli Zaretskii
2017-09-29 18:13         ` John Wiegley
     [not found] <<m28th6ilcn.fsf@newartisans.com>
     [not found] <<83377mls4d.fsf@gnu.org>

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=20170927184325.GA4653@ACM \
    --to=acm@muc.de \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=p.stephani2@gmail.com \
    --cc=philippe.vaucher@gmail.com \
    /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).