From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Declaring Lisp function types Date: Sun, 25 Feb 2024 17:04:30 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29261"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Andrea Corallo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Feb 25 18:05:56 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 1reHwp-0007TV-S9 for ged-emacs-devel@m.gmane-mx.org; Sun, 25 Feb 2024 18:05:55 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reHvn-0005ng-1m; Sun, 25 Feb 2024 12:04:51 -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 1reHvg-0005mX-KA for emacs-devel@gnu.org; Sun, 25 Feb 2024 12:04:44 -0500 Original-Received: from mail.muc.de ([193.149.48.3]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reHve-0001MC-5T for emacs-devel@gnu.org; Sun, 25 Feb 2024 12:04:44 -0500 Original-Received: (qmail 97248 invoked by uid 3782); 25 Feb 2024 18:04:31 +0100 Original-Received: from acm.muc.de (pd953a142.dip0.t-ipconnect.de [217.83.161.66]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Sun, 25 Feb 2024 18:04:30 +0100 Original-Received: (qmail 32532 invoked by uid 1000); 25 Feb 2024 17:04:30 -0000 Content-Disposition: inline In-Reply-To: X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.3; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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:316530 Archived-At: Hello, Andrea. On Fri, Feb 23, 2024 at 11:02:52 -0500, Andrea Corallo wrote: > Hi all, > I'm looking into moving out the function type declarations in > 'comp-known-type-specifiers' in order to move them to where the function > are actually defined. This to easy maintenance (ATM they get out of > sync) and to allow the user for (indeed optionally) declaring function > types. > In principle I believe we are interested in expressing the the argument > types and (maybe optionally) the return type. What's missing is the why. Do we actually want to put function type declarations in Lisp source at all? They will clutter up the code more than it is cluttered up at the moment. A ground principle of Lisp is that type checking is done at run time, not compile time. Your proposal seems to be changing that, although I don't know what the intention for using the type decorations is. 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. As I said, I don't know what these declarations are for, but I think serious thought should be given to not implementing them. [ .... ] > Thanks! > Andrea -- Alan Mackenzie (Nuremberg, Germany).