From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Distinguishing `consp` and `functionp` Date: Fri, 26 Jan 2024 09:31:59 +0200 Message-ID: <86msssble8.fsf@gnu.org> References: Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18629"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jan 26 08:32:58 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 1rTGhu-0004cQ-M5 for ged-emacs-devel@m.gmane-mx.org; Fri, 26 Jan 2024 08:32:58 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rTGh0-00022z-NH; Fri, 26 Jan 2024 02:32:02 -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 1rTGgz-00022h-Jy for emacs-devel@gnu.org; Fri, 26 Jan 2024 02:32:01 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rTGgz-0001n5-2R; Fri, 26 Jan 2024 02:32:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=sQ4sOLt//mLsbathzf8TLEoH66KF/3P8sC7ja1vZDqs=; b=RN8ReNI+QEQF tXHGdX76+16nP/NWvpjH6dWYpUVBH1tuE/QZbo4LiM6hhBKArUDdxbAvSKawkKxxDKvmAN0GtaXn9 NIUktJ1QoKamkv70PkZg0svyWySdDoofvPfAHDXDt2hUc9vqllO0zBXE5GDa/2CG75WRkjTvp0Sz2 eeYbm2YAQbDLIw+DF/Ufh2bHxg2F/jfiYXH1UgVUcCpf5qi4H3+WCJkhvX5pt6nAujamxbm9cadm7 e/FJK92ULIxqyEO80AHPbhY3aZ5RbojlTo8FXfYhLmNGn5+x+Ol/ULl/y1xWNZuP/DePRG8MmmZx0 HOMrDK/X+wnQh70l+A4KcQ==; In-Reply-To: (message from Stefan Monnier on Thu, 25 Jan 2024 18:15:48 -0500) 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:315413 Archived-At: > From: Stefan Monnier > Date: Thu, 25 Jan 2024 18:15:48 -0500 > > I've been annoyed at the use of lists to represent function values for > a while now. For a reason I cannot fathom, I even managed to reproduce > that very same mistake in Emacs-24 with the `(closure ...)` value for > statically scoped interpreted function values. > > That was a major blunder. > > In any case, I'm playing around with a "fix", making lambda evaluate > (when interpreted) not to (lambda ...) or (closure ...) but to > a self-evaluating value that can be more reliably distinguished. Maybe I'm missing something, but I always thought that having code and data indistinguishable is one of the strong sides of Lisp. Are we now going to make this advantage smaller, by deprecating the use of lists to represent functions? Or do I misunderstand what you are saying above? (I admit I didn't study the patch.)