From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Default lexical-binding to t Date: Fri, 8 Nov 2024 00:37:25 +0200 Message-ID: <994e821c-db19-46e1-895a-e630d6430c9d@gutov.dev> References: <86ttcnuppm.fsf@gnu.org> <86ttcksgsu.fsf@gnu.org> <86bjysscvr.fsf@gnu.org> <86v7x0w0l6.fsf@fastmail.fm> <86v7wzr2ng.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14725"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: joostkremers@fastmail.fm, emacs-devel@gnu.org To: Alan Mackenzie , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 07 23:38:27 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t9B90-0003bH-G7 for ged-emacs-devel@m.gmane-mx.org; Thu, 07 Nov 2024 23:38:27 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t9B8C-0002V2-NJ; Thu, 07 Nov 2024 17:37:36 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t9B8A-0002Uf-A3 for emacs-devel@gnu.org; Thu, 07 Nov 2024 17:37:34 -0500 Original-Received: from fhigh-a8-smtp.messagingengine.com ([103.168.172.159]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t9B88-0000U7-1U; Thu, 07 Nov 2024 17:37:34 -0500 Original-Received: from phl-compute-12.internal (phl-compute-12.phl.internal [10.202.2.52]) by mailfhigh.phl.internal (Postfix) with ESMTP id 2D59E114013B; Thu, 7 Nov 2024 17:37:29 -0500 (EST) Original-Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-12.internal (MEProxy); Thu, 07 Nov 2024 17:37:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1731019049; x=1731105449; bh=lQiE6X/iJU8tV/s5mt4TH6F1amzfuiOze9JqV5fxWOc=; b= IchJklRSiuAKDdwREZ0z+2NxIt572QGjHBHRmWNelwttLRk2hRfz6t7WD9TdK7eV N9789do5lQpwxtD5BM/flzuXBHwsTYgxbPRv+/M+RHRmD9JwuSY/gJZP/jTkQEH4 entn64KjyndUhbLa8XvxEeo48efmBK0mE0H5hmh+JLx1+dFCWujmr+MU/KycsN2j VJFAwLK2hl9CabOPjPSWXM55dNkaXjWYeHUgGkmqq4isv2TfrEvZcpbIlD9GLrUN 2/NzSVqkms5yA280ztWnbVKpWDsTTh3Y3d3o5DWHIQJJHmR3prWZtlMn2MfiZyJm FIehnF0S+FE5/3f3NgyJvw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731019049; x= 1731105449; bh=lQiE6X/iJU8tV/s5mt4TH6F1amzfuiOze9JqV5fxWOc=; b=Q wNFCdjCppM+Li4afBSg0Yr4dGWyPG0/WiTVbGrL+F4G2SC6P0F1tj1uFojqFlVhp 6yxLe2M6HXztPz4o/ALfxp2DO5NjOhuedbesRqmonp0ilI5DMCykK4CiPupMlrEB mzvuegGsuUT9eRiaWkCs8t3H2SCVnVjK1pmYn8+R5/escCuWZKpWpGymjjD1XiL1 3Ome+EneBt5AHHhlR3fGL9m4nrFXS/Dhc/lMc0ScpnI59TtThMls7lDswTQHmJ6o lIcgGsb6Iag8300qp2uvMLSBxTDMyFg6d+cHdh9VXSGu3WJyuQCkmPivXFKzK/+6 VYUchHqI2f9TDdQeYsZHg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrtdehucetufdoteggodetrfdotffvucfrrh hofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfurfetoffk rfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculd dquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdejnecuhfhr ohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqne cuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueeftddvtdev fefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthhopeegpdhm ohguvgepshhmthhpohhuthdprhgtphhtthhopegrtghmsehmuhgtrdguvgdprhgtphhtth hopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopehjohhoshhtkhhrvghmvghrshes fhgrshhtmhgrihhlrdhfmhdprhgtphhtthhopegvmhgrtghsqdguvghvvghlsehgnhhurd horhhg X-ME-Proxy: Feedback-ID: i07de48aa:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 7 Nov 2024 17:37:27 -0500 (EST) Content-Language: en-US In-Reply-To: Received-SPF: pass client-ip=103.168.172.159; envelope-from=dmitry@gutov.dev; helo=fhigh-a8-smtp.messagingengine.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_SBL_A=0.1 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:325242 Archived-At: On 07/11/2024 23:23, Alan Mackenzie wrote: > I can't remember any discussion of the technical merits and demerits of > lexical binding taking place on this list. I've been subscribed for > over 20 years. Maybe I missed it. It seems strange, that's all. I can suggest two points: - Lexical binding is closer to the how bindings work in contemporary languages, or ones that are most popular these days anyway. Which makes transition easier, and so helps with writing and debugging new Elisp. - The "lexical binding" dialect of Elisp is easier to analyze for the byte-compiler. Not just in terms of performance, but to offer warnings about potential typos. Such detection won't work with "dynamic binding" Elisp: any variable with a weird name can be intended to be bound in the caller.