From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: lloda Newsgroups: gmane.lisp.guile.bugs Subject: bug#61660: [feature request] optimization of case-lambda Date: Mon, 20 Feb 2023 18:56:25 +0100 Message-ID: <8EDEC1EC-EC48-474D-88A0-9CE25436A961@sarc.name> Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17660"; mail-complaints-to="usenet@ciao.gmane.io" To: 61660@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Mon Feb 20 18:57:25 2023 Return-path: Envelope-to: guile-bugs@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 1pUAPl-0004Tq-6q for guile-bugs@m.gmane-mx.org; Mon, 20 Feb 2023 18:57:25 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pUAPQ-0000lv-58; Mon, 20 Feb 2023 12:57:04 -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 1pUAPP-0000ln-9b for bug-guile@gnu.org; Mon, 20 Feb 2023 12:57:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pUAPP-00048z-0U for bug-guile@gnu.org; Mon, 20 Feb 2023 12:57:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pUAPO-0000ta-Es for bug-guile@gnu.org; Mon, 20 Feb 2023 12:57:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: lloda Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Mon, 20 Feb 2023 17:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61660 X-GNU-PR-Package: guile X-Debbugs-Original-To: "bug-guile@gnu.org" Original-Received: via spool by submit@debbugs.gnu.org id=B.16769158023412 (code B ref -1); Mon, 20 Feb 2023 17:57:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 Feb 2023 17:56:42 +0000 Original-Received: from localhost ([127.0.0.1]:53462 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pUAP4-0000sw-2p for submit@debbugs.gnu.org; Mon, 20 Feb 2023 12:56:42 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:41120) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pUAP2-0000so-4C for submit@debbugs.gnu.org; Mon, 20 Feb 2023 12:56:41 -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 1pUAP0-0000ho-AI for bug-guile@gnu.org; Mon, 20 Feb 2023 12:56:39 -0500 Original-Received: from mta-09-3.privateemail.com ([68.65.122.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pUAOy-00042R-G9 for bug-guile@gnu.org; Mon, 20 Feb 2023 12:56:37 -0500 Original-Received: from mta-09.privateemail.com (localhost [127.0.0.1]) by mta-09.privateemail.com (Postfix) with ESMTP id 50CA818000A2 for ; Mon, 20 Feb 2023 12:56:28 -0500 (EST) Original-Received: from [192.168.1.105] (unknown [51.154.167.214]) by mta-09.privateemail.com (Postfix) with ESMTPA id E748E18000A1 for ; Mon, 20 Feb 2023 12:56:27 -0500 (EST) X-Mailer: Apple Mail (2.3608.120.23.2.7) X-Virus-Scanned: ClamAV using ClamSMTP Received-SPF: pass client-ip=68.65.122.19; envelope-from=lloda@sarc.name; helo=MTA-09-3.privateemail.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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.bugs:10552 Archived-At: On 3.0.9 > ,optimize ((case-lambda (() 0))) =3D 0 but=20 > ,optimize ((case-lambda (() 0) ((a) 1))) =3D ((case-lambda (() 0) ((a) 1))) The problem with this is that when the output of a macro contains = case-lambda, recursive application results in geometrical increase of = code size. It seems that it should be possible to resolve the = application on the spot; at last to reduce the case-lambda to a simple = lambda when the arity is available (which now only happens when the = case-lambda contains a single clause). Thanks Daniel