[Top][All Lists]

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

Re: Emacs 26.1 release branch created

From: Alan Mackenzie
Subject: Re: Emacs 26.1 release branch created
Date: Wed, 27 Sep 2017 18:43:25 +0000
User-agent: Mutt/1.7.2 (2016-11-26)

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 via email to

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