From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Philippe Vaucher Newsgroups: gmane.emacs.devel Subject: Re: Emacs 26.1 release branch created Date: Wed, 27 Sep 2017 13:54:29 +0200 Message-ID: References: <20170924194139.GA6793@ACM> <20170925190357.GA4651@ACM> <855b1231-2279-4fd7-a2d6-be65435bb8be@default> <20170926202648.GB5190@ACM> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="f40304361fec1b1888055a2a764f" X-Trace: blaine.gmane.org 1506513341 30199 195.159.176.226 (27 Sep 2017 11:55:41 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 27 Sep 2017 11:55:41 +0000 (UTC) Cc: Philipp Stephani , Drew Adams , Emacs developers To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 27 13:55:31 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxAw3-0006ug-IX for ged-emacs-devel@m.gmane.org; Wed, 27 Sep 2017 13:55:27 +0200 Original-Received: from localhost ([::1]:54201 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxAw9-0000Lu-Dt for ged-emacs-devel@m.gmane.org; Wed, 27 Sep 2017 07:55:33 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33860) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxAvk-00005G-1d for emacs-devel@gnu.org; Wed, 27 Sep 2017 07:55:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxAve-0004a3-DF for emacs-devel@gnu.org; Wed, 27 Sep 2017 07:55:08 -0400 Original-Received: from mail-ua0-x22e.google.com ([2607:f8b0:400c:c08::22e]:53057) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dxAve-0004Wa-7G for emacs-devel@gnu.org; Wed, 27 Sep 2017 07:55:02 -0400 Original-Received: by mail-ua0-x22e.google.com with SMTP id n38so8293670uai.9 for ; Wed, 27 Sep 2017 04:55:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=WSevbFSlpGVNfX1rrowgBqBkoUdej3PNQCUwPUgyhLA=; b=CG2TpEDX2euimZIAXzptDEHsIPUp/j4300RvCJtXxz30oac2rHnq/tdJkpcc2Bp9tB Wqnp7AqGmSBS0bE36rvurtuOofw/G8vHYHep5HAw4YiLawMvyoCdsvXCYsSP9HpAaPTW ZFDgZQDrZwN0gbFy/jRXffWR3qnAmqiQbP+h3soCRj5a2X3Zmi+DeB1T72hwcYXtizN2 auGhBn8FHrs6p8XL5a+gn2FCknGJopLwX3PYx6/MtcTheIDWBFxpP7zr7If/IoMejTux j/2tiJdVop5mu+w3MvfcxNIcUCC72+UJ7EfXmq0X5NNpX8FjPSmaV5BYVPYPLccjtxKi hU0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=WSevbFSlpGVNfX1rrowgBqBkoUdej3PNQCUwPUgyhLA=; b=bB8NERksBnVwNHsiQbLkrENYgvV7Y++U4hXcPz3mJGBzTmkVL+HH19+S9yFNi1Qawq EeSAiLlkL1f5uBMvIUAfUnR4+szdss3oRG4jaGVo/B1YfyiG7gIiwmp4ChdseG01Mol2 hDgJ7CNWTb4n2KLZiETaUbS1FZwRxfYK/Me41Vu/xwiTk5dmXtftYZgqubzvTRjYs33b +bv0D2cQXQlgw81X00EvJhniwVg+FWm74WG+ihfxvE8z2vm1jA1rQZKscLjeOGrt0SEf rUcEDj/WRX0ikLJbypXFyNd41tY7gZR2I+ZM7nQ/tHQJ7nkGrO2T8vXRxqoIZYk0g6EF iKqQ== X-Gm-Message-State: AHPjjUi4hkFZzLE9WqNDSfRtw8kfbAVKgmb/V/lzCa8QLX/Z9Z6zG/AV 55OvU688Dji2rAM4YafyTR+aXYLFEqQ6Wgz8KyU= X-Google-Smtp-Source: AOwi7QBAtFp0dktIjV/gh8c44MexVM1H6Sj6bJJzOEB5OudoTLqwRmfCZUJxuIKOLPqcGsruNLp98fVVOvsdIGiDPX4= X-Received: by 10.176.92.38 with SMTP id q38mr713790uaf.110.1506513300163; Wed, 27 Sep 2017 04:55:00 -0700 (PDT) Original-Received: by 10.103.112.131 with HTTP; Wed, 27 Sep 2017 04:54:29 -0700 (PDT) In-Reply-To: <20170926202648.GB5190@ACM> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400c:c08::22e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:218823 Archived-At: --f40304361fec1b1888055a2a764f Content-Type: text/plain; charset="UTF-8" > > > 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. There is simply no real argument for using global mutable state when we can avoid it, except for somewhat weak arguments like "it's convenient" or "it'd require too much refactoring". Philippe --f40304361fec1b1888055a2a764f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
> Early Lisps had only dynam= ic 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.=C2=A0 The whole world is a= global
mutable state.=C2=A0 Literally.=C2=A0 How can we model them without such th= ings in
our languages?=C2=A0 Why would we want to?

<= div>I think this is the wrong way to approach this. What counts here are th= e benefits: by avoiding global mutable state we make code that is easier to= reason about, easier to test, etc.
There is simply no real argum= ent for using global mutable state when we can avoid it, except for somewha= t weak arguments like "it's convenient" or "it'd req= uire too much refactoring".

Philippe
--f40304361fec1b1888055a2a764f--