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: (*) -> 1 Date: Tue, 17 Jan 2023 21:18:20 +0300 Message-ID: References: <87sfg9kuya.fsf@web.de> <87bkmxkpzg.fsf@web.de> 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="2344"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.9+54 (af2080d) (2022-11-21) Cc: help-gnu-emacs@gnu.org To: Michael Heerdegen Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jan 17 19:22:02 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 1pHqaw-0000Pl-Cv for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 17 Jan 2023 19:22:02 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pHqaP-00084p-77; Tue, 17 Jan 2023 13:21:29 -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 1pHqaN-00084B-Dd for help-gnu-emacs@gnu.org; Tue, 17 Jan 2023 13:21:27 -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 1pHqaL-0005by-GO for help-gnu-emacs@gnu.org; Tue, 17 Jan 2023 13:21:27 -0500 Original-Received: from localhost ([::ffff:102.85.233.9]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000055D73.0000000063C6E726.00002C1D; Tue, 17 Jan 2023 11:21:25 -0700 Mail-Followup-To: Michael Heerdegen , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: <87bkmxkpzg.fsf@web.de> 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:142330 Archived-At: * Michael Heerdegen [2023-01-17 20:54]: > Jean Louis writes: > > > (*) ➜ 1 > > (*) ➜ 1 > > > > We will get total of 2 Ferraris out of nothing. > > And with (concat) we get an empty string in the garage out of > nothing. And why? (concat) ➜ "" Is it mathematical convention? Is it maybe just programming convention to minimize errors like we mentioned it? In case of `concat' I can understand that (concat nil) ➜ "" is useful, that is clear. Then in that sense I can also understand (concat) ➜ "" being useful as function need not be programmed to say there are no arguments, but simply accepts any arguments and at least delivers "" for empty list, even though for list it gives error (concat '("ok" "there")) So my understanding that it is for purpose of minimizing errors is in doubt, as for empty list it gives string, but for non-empty list it can't handle it. Then is hard to understand why is it convenient this: (-) ➜ 0 or (+) ➜ 0 but not this, where: (1-) yields with error, and why not -1? (1+) yields with error, and why not 1? I read in manual: -- Function: logior &rest ints-or-markers This function returns the bitwise inclusive OR of its arguments: the Nth bit is 1 in the result if, and only if, the Nth bit is 1 in at least one of the arguments. If there are no arguments, the result is 0, which is an identity element for this operation. If ‘logior’ is passed just one argument, it returns that argument. but nowhere else is "identity element" mentioned, so I still look for reasons why is identity element returned. To minimize the error? For that information to be acceptable I would like to find example of minimization of error. It seem hard to find it, even though it is attributed as being "handy" and "convenient" on Internet. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/