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: Declaring Lisp function types Date: Wed, 28 Feb 2024 22:50:33 -0500 Message-ID: References: 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="16200"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acorallo@gnu.org, emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Feb 29 04:51: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 1rfXSA-0003xO-EX for ged-emacs-devel@m.gmane-mx.org; Thu, 29 Feb 2024 04:51:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rfXRM-0005XT-Ta; Wed, 28 Feb 2024 22:50: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 1rfXRK-0005MM-NT for emacs-devel@gnu.org; Wed, 28 Feb 2024 22:50:34 -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 1rfXRJ-0005fp-V0; Wed, 28 Feb 2024 22:50:33 -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=EyDAWWtmvP6rKHl4fVAJgEMMJgcxqgRisEiu6ZSf0B8=; b=Tm72Q97Fnb1r iThcV5on4jLJwOQEokzzWtcfeESNoYEssfUUBtgWC6NL5eaL3VOVb2XjszmM4jIv0FjANdx+qx9G6 F9zahUdDtAmjcubo5P1s7IU5LVhX9MHQ7wu9qdKWdUu6qKLJXiMV5mthCthaALfFrq+WjS8LlE5DD 2/dqd4O2HwN955HDLaq76/2TIJg8X66ZCugRb1FAMG706QNVXuMaEhqHqHX36af4uTZTB3pVTYB1j BTbvgJVYhtM8FCJwk7Trm5I0URKuNZ8ND3nD2qSUquuago2XhPH6nUEUCL0iE91Rsr62iApmqsuRI Lb6WlebbYaed0fOXcTBnZg==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1rfXRJ-0002mJ-3C; Wed, 28 Feb 2024 22:50:33 -0500 In-Reply-To: (message from Alan Mackenzie on Sun, 25 Feb 2024 17:04:30 +0000) 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:316635 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. ]]] > I worry that these declarations will become frequent, even pervasive, > and then effectively compulsory. Then we won't have Lisp any more, > we'll have something more like C. > I think somebody said somewhere that the declarations will be > "voluntary", but things that start off voluntary have a nasty habit of > first becoming pervasive, then all but universal, and then compulsory. That is my concern as well. If we let native compilation lure us down the path of changing the Emacs Lisp language so as to make native-compiled code faster, there is almost no limit to how much time we could put into it. There are always things we could do to keep optimizing some cases. This will tend to draw effort away from other sorts of improements in GNU Emacs. We should decline to go down that path. As long as we avoid that alteration of priorities, and use this information about function argument types and likely value types only as a kind of documentation for users, there is no reason not to improve the way we store it and how users can access it. -- 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)