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: Shrinking the C core Date: Sun, 17 Sep 2023 19:03:20 -0400 Message-ID: References: <87ledwx7sh.fsf@yahoo.com> <877cpfybhf.fsf@yahoo.com> <873503y66i.fsf@yahoo.com> <87y1h7cd2c.fsf@dataswamp.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="19920"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Emanuel Berg Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Sep 18 01:03:46 2023 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 1qi0nq-0004wt-0u for ged-emacs-devel@m.gmane-mx.org; Mon, 18 Sep 2023 01:03:46 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qi0nT-0000hV-9i; Sun, 17 Sep 2023 19:03:23 -0400 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 1qi0nR-0000hB-UI for emacs-devel@gnu.org; Sun, 17 Sep 2023 19:03:21 -0400 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 1qi0nQ-0000Wq-Vi; Sun, 17 Sep 2023 19:03:20 -0400 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=S5qGpwBQ7NCYp8jxva+HWQGDG/y2b5ZZyAihm9UsDtk=; b=mX4MLqj07ocd Ocf4tkVuqhMOGkcPo/LUIvYfuQotvQrvyWj3T/KPh8Gi4/DFqYV6odL4GCiLM1db723UzjwwFIRSJ Bw6Qud7FfB6RQwqEWVqN/ZfmnFmznXMAAoUQ1WhnvR+rNLGIqBvEaN621UaWV9UJ7dkoekEZnErBV D86le1YbEBL7BFmzJTWwLNLTuUkEhUUOtDM6sKKt/MYIYug+cpr5WdlzzVHlkLM1oc6/SSlywbGtb XTxDGISQ9bup9ZoUWhyjsAxClQbudiu+uLo2ifhVC9pPno1JnOxqROGRf+cXfK753BsGk/vhineab o22OdQ+/YRl/PfQsWPWh9g==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1qi0nQ-0001BO-O4; Sun, 17 Sep 2023 19:03:20 -0400 In-Reply-To: <87y1h7cd2c.fsf@dataswamp.org> (message from Emanuel Berg on Fri, 15 Sep 2023 23:59:55 +0200) 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:310680 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. ]]] > > (defun foo (&optional who-am-I) > > (let ((who-am-I (or who-am-I "foo"))) > > (message "I am %s." who-am-I))) > > > > Is that really better than typing: > > > > (cl-defun foo (&optional (who-am-I "foo")) > > (message "I am %s." who-am-I)) In Emavs Lisp you can write (defun foo (&optional who-am-I) (message "I am %s." (or who-am-I "foo"))) which is just as simple as the cl-defun method. I have no objection to the feature of default values for optional arguments. It does not make code harder to understand. The reason I did not implement that in 1984 was to keep Emacs Lisp's implementation smaller and finish it sooner. The latter is no longer pertinent. The former reason may still be valid, because implementing this will add some coimplexity. Is it worth its cost? I don't know. -- 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)