From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: 7 logical-xor implementations in source tree Date: Tue, 30 Jul 2019 09:36:51 +0000 Message-ID: <20190730093651.GA5427@ACM> References: <87tvbd9a8p.fsf@oremacs.com> <87pnm14u95.fsf@tcd.ie> <87sgqvoz5c.fsf@tcd.ie> <87d0hz2e11.fsf@tcd.ie> <5B633129-B795-4BFA-AE81-FE9FD0A24CE9@acm.org> <0edfffbb-6f5a-a6b2-334a-9000e8f2eb3e@gmail.com> <20190728080417.GA5072@ACM> <875znm3q19.fsf@mbork.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="223939"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) Cc: emacs-devel@gnu.org To: Marcin Borkowski Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jul 30 11:37:03 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hsOZ4-000w7F-EZ for ged-emacs-devel@m.gmane.org; Tue, 30 Jul 2019 11:37:02 +0200 Original-Received: from localhost ([::1]:59178 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hsOZ3-0001z0-Dp for ged-emacs-devel@m.gmane.org; Tue, 30 Jul 2019 05:37:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34605) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hsOYy-0001yh-Pd for emacs-devel@gnu.org; Tue, 30 Jul 2019 05:36:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hsOYx-0005fC-KT for emacs-devel@gnu.org; Tue, 30 Jul 2019 05:36:56 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:12459 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1hsOYx-0005eS-BS for emacs-devel@gnu.org; Tue, 30 Jul 2019 05:36:55 -0400 Original-Received: (qmail 80904 invoked by uid 3782); 30 Jul 2019 08:44:22 -0000 Original-Received: from acm.muc.de (p4FE15868.dip0.t-ipconnect.de [79.225.88.104]) by colin.muc.de (tmda-ofmipd) with ESMTP; Tue, 30 Jul 2019 10:44:21 +0200 Original-Received: (qmail 5459 invoked by uid 1000); 30 Jul 2019 09:36:51 -0000 Content-Disposition: inline In-Reply-To: <875znm3q19.fsf@mbork.pl> X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 193.149.48.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:239017 Archived-At: Hello, Marcin. On Sun, Jul 28, 2019 at 21:43:19 +0200, Marcin Borkowski wrote: > On 2019-07-28, at 10:04, Alan Mackenzie wrote: > > Hello, Philippe. > > On Sun, Jul 28, 2019 at 09:09:01 +0200, Philippe Schnoebelen wrote: > >> On 2019/07/25 14:07, Mattias Engdegård wrote: > >> > 25 juli 2019 kl. 01.44 skrev Basil L. Contovounesios : > >> > bool-equal, bool-equiv, bool=, bool-eq are all fine as far as I'm concerned. `xnor' and `nxor', not so much. > >> > Racket has `boolean=?', but presumably it only copes with #t/#f. > >> > I'll be using `equiv' as placeholder below for brevity. > >> I like the name `iff' for this function. > > No, please don't use the name `iff' here. In mathematical circles, iff > > means "if and only if", and has done for many decades/several centuries. > > Introducing it into Emacs with a radically different meaning will be > > jarring in the extreme to anybody with a maths background. > Out of curiosity: how is that a "radically different meaning"? I assume > that we are talking about a function `iff' such that > (iff nil nil) evaluates to t > (iff nil ) evaluates to nil > (iff nil) evaluates to nil > (iff ) evaluates to t (or perhaps the latter > ) Er, it's not radically different. My brain seems to have been switched off when I wrote my last post. Apologies. Less importantly, I don't like iff being used in this way. I'm not sure why. Maybe it's because I've been used to iff applying solely to TRUE and FALSE. Maybe it's that I've been used to iff declaring a proposition, rather than being something to be calculated. > This could of course be generalized to n arguments, though I'm not sure > whether anyone would want that (as with xor, there is more than one > "natural" way to do that). > If so, this is precisely the meaning we are talking about, no? > Also, Wikipedia claims that "iff" is relatively new (the fifties), btw. Well, I think that counts as "many decades", even if not "several centuries". It was certainly in widespread use in the 1970s. > Best, > -- > Marcin Borkowski > http://mbork.pl -- Alan Mackenzie (Nuremberg, Germany).