From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Distinguishing `consp` and `functionp` Date: Mon, 29 Jan 2024 22:58:30 -0500 Message-ID: References: <86msssble8.fsf@gnu.org> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35991"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eliz@gnu.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jan 30 04:58:40 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 1rUfGh-0009Aa-70 for ged-emacs-devel@m.gmane-mx.org; Tue, 30 Jan 2024 04:58:39 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rUfGb-000889-BF; Mon, 29 Jan 2024 22:58:33 -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 1rUfGZ-00087N-Hg for emacs-devel@gnu.org; Mon, 29 Jan 2024 22:58:31 -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 1rUfGZ-0001Dy-2Q; Mon, 29 Jan 2024 22:58:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=Hk6FgF22VHOmh/bXnQYFMe5YNAeXZdkTH1JL/qPPGYw=; b=EnKncXiq9YsF COrbbe8+AGg7qUV7n/UtmOK6RMR0EMQG3EZ7Qu2xGX+IxwxNTb3yArCCCwX1nXuRlPujcyM5ORL/G e2nxNvq1lS9ZvS+9apkhaQRpqpb8Os+TQzK4Ga8bqwSLW46MxEk78fazBRQ/b6xF0ZYYFyMDWFmnC 8HZIEIxnm36pJGBak66T0oCgPv2P+ggl1zgFBINquPZT6zBu678nCuJRP69ifaUY1Z0p+UiqJSbGl HiopMZILGVYkSK8xfJkxipNyoVb7g343fqVz+FDg6bINcWTg6NQ8xYVvuyY0bn7EYR8i19YCWfmR9 YUz5BZTog5kjT3QaMGRRrw==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1rUfGY-0000OH-PT; Mon, 29 Jan 2024 22:58:30 -0500 In-Reply-To: (message from Stefan Monnier on Sun, 28 Jan 2024 16:27:27 -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:315626 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > But looking inside a function *value* (i.e. what is returned at run time > by the evaluation of `#'(lambda ...)`) with `car/cdr` is rarely > supported in the Lisp world. Compiled functions have been non-transparent since the 1960s, and they have to be. But the kind of function which makes the core of the concept of Lisp, the interpreted function, can indeed be analyzed that way. To alter that would be a major change in the philosophy of Lisp. It would call for a powerful justification. The argument that "some other kinds of functions already can't be introspected, so why not break that for the core kind of function too" is not logically valid. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)