From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tomas Hlavaty Newsgroups: gmane.emacs.devel Subject: Re: Declaring Lisp function types Date: Mon, 26 Feb 2024 19:10:17 +0100 Message-ID: <87edczyu46.fsf@neko.mail-host-address-is-not-set> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1225"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Andrea Corallo , Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 26 19:11:54 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 1refSD-000Ad0-Ru for ged-emacs-devel@m.gmane-mx.org; Mon, 26 Feb 2024 19:11:53 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1refR6-0002FC-26; Mon, 26 Feb 2024 13:10:44 -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 1refQx-0001xw-CW for emacs-devel@gnu.org; Mon, 26 Feb 2024 13:10:35 -0500 Original-Received: from logand.com ([37.48.87.44]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1refQv-0004ck-Lk; Mon, 26 Feb 2024 13:10:35 -0500 Original-Received: by logand.com (Postfix, from userid 1001) id 2A6C519E83F; Mon, 26 Feb 2024 19:10:22 +0100 (CET) X-Mailer: emacs 28.2 (via feedmail 11-beta-1 I) In-Reply-To: Received-SPF: pass client-ip=37.48.87.44; envelope-from=tom@logand.com; helo=logand.com 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:316578 Archived-At: On Mon 26 Feb 2024 at 11:52, Andrea Corallo wrote: > ATM we have several function type declarations kept in a different file > and naturally they get out of sync over time. What happens when they get out of sync? > So yes one reason is to move the declarations where functions are > actually defined. What happens when they are wrong? > These declarations are in use by the native compiler in order to help > generating better code, computing automatically the function signature > of non type declared functions (signatures which we present in C-h f) Do you have a specific example? (describe-function 'car) and (describe-function 'sort) do not show any signature in emacs 28.2 > and (hope in the close future) aid the programmer by performing extra > error checking at compile time. How is this different from CL:CHECK-TYPE? Would CL:CHECK-TYPE be sufficient? (eww "clhs check-type") https://www.lispworks.com/documentation/HyperSpec/Body/m_check_.htm