From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration? Date: Mon, 16 Jan 2023 13:10:59 +0300 Message-ID: References: <61c2cc81db661e2624771a06a1274eac.support1@rcdrun.com> <87y1qdct5m.fsf@gnu.org> <874jt0imh0.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14928"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.9+54 (af2080d) (2022-11-21) Cc: help-gnu-emacs@gnu.org, Rudolf =?utf-8?Q?Adamkovi=C4=8D?= To: tomas@tuxteam.de Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jan 16 11:17:48 2023 Return-path: Envelope-to: geh-help-gnu-emacs@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 1pHMYl-0003ay-OV for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 16 Jan 2023 11:17:47 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pHMYJ-0001S1-Lk; Mon, 16 Jan 2023 05:17:19 -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 1pHMY8-0001Pt-W3 for help-gnu-emacs@gnu.org; Mon, 16 Jan 2023 05:17:09 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHMY7-0004rE-6W for help-gnu-emacs@gnu.org; Mon, 16 Jan 2023 05:17:08 -0500 Original-Received: from localhost ([::ffff:197.239.8.177]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000055D73.0000000063C52422.00006DC8; Mon, 16 Jan 2023 03:17:05 -0700 Mail-Followup-To: tomas@tuxteam.de, help-gnu-emacs@gnu.org, Rudolf =?utf-8?Q?Adamkovi=C4=8D?= Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.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 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:142265 Archived-At: * tomas@tuxteam.de [2023-01-16 09:11]: > Identity element [0] as defined in group theory [1]. > > The association of 0 with + and 1 with * runs deeper in maths > than you think. > > > Though that it is so, it does not answer why is it so. > > Those are, of course, conventions. As whether the natural > numbers begin with 0 or 1. But the above is, AFAIK, most > widespread among mathematicians, wheter the latter is not. Thanks. I could see reference that identity element is the one that would not change the other elements if the operation would be applied. This alone makes sense. But it does not make sense why somebody have put it in Lisp. Do you know? I did not find any references by using Duckduckgo. (*) ➜ 1 (+) ➜ 0 (/) Wrong number of arguments: / (-) ➜ 0 The question why is not yet clear to me. Why is it in Lisp so? Why not then for `/' as well? Is it not possible? What is practical use of teaching functions to spit it identity element instead of doing "wrong number of arguments" just as for division? It is not explained in Emacs Lisp manual. If function `*' should without arguments return identity element by mathematical terminology, that is not explained. Then I see in Guile: (*) ➜ 1 (-) Wrong number of arguments to - (+) ➜ 0 (/) Wrong number of arguments to / CLISP: (-) EVAL: too few arguments given to -: (-) (*) ➜ 1 (+) ➜ 0 Why Emacs Lisp returns 0 for (-) and CLISP and Guile not? Finally, what is the actual use of it? -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/