From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.devel Subject: Re: 7 logical-xor implementations in source tree Date: Wed, 31 Jul 2019 22:31:12 +0200 Message-ID: <87y30e6j5b.fsf@web.de> 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> <20190730093651.GA5427@ACM> <7n36iny4yq.fsf@ecube.ecubist.org> <7nftmmkz83.fsf@ecube.ecubist.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="146233"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Barry Fishman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 31 22:32:00 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 1hsvGR-000btE-UZ for ged-emacs-devel@m.gmane.org; Wed, 31 Jul 2019 22:32:00 +0200 Original-Received: from localhost ([::1]:44180 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hsvGQ-0001E1-FS for ged-emacs-devel@m.gmane.org; Wed, 31 Jul 2019 16:31:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59230) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hsvFw-0001Bx-RC for emacs-devel@gnu.org; Wed, 31 Jul 2019 16:31:30 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hsvFw-0007XE-05 for emacs-devel@gnu.org; Wed, 31 Jul 2019 16:31:28 -0400 Original-Received: from mout.web.de ([212.227.15.14]:60645) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hsvFu-0007So-1B for emacs-devel@gnu.org; Wed, 31 Jul 2019 16:31:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1564605074; bh=cZX75uQ54bvz3vTA1P72zYEe6FXv8pBua3Um6orzl4E=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=iD8LO5DKtAW/XNGaNu5Mtpvo9kN5YvYliqTBhWKSmKT5zgJ1S+DGIxbcRjA/KWrzD 0lwzbSNqjK8g9DRt+iZZZmrAuV2KC565/40XR9+00hWHmCCDpI14bLrtp6VqxL5U+v odDz0KQyjz8dhRRmZhU/ycVL4/HvUK0HXIIdP5Ko= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([92.208.178.242]) by smtp.web.de (mrweb002 [213.165.67.108]) with ESMTPSA (Nemesis) id 0Lh6bn-1igVYT0cfn-00oSxn; Wed, 31 Jul 2019 22:31:14 +0200 In-Reply-To: <7nftmmkz83.fsf@ecube.ecubist.org> (Barry Fishman's message of "Wed, 31 Jul 2019 11:20:12 -0400") X-Provags-ID: V03:K1:ZvcRSsh2yPvFEjr3smmzPTje2uisQdFZM9zhzDWi1SRLF37A1xq m4wgHb+r9/FNaZFOTjpfeoo7QhH/jnHX6RLn9+zir34DPgRbnsRIFNv1P4ko7l4DNw0gUzU rsOHFCVGzD+DuDDln5ODwWYk2qzH4nysGoVoXJANdM0+xTwxEQdsRmhr3f51mojMDyTLdfZ nHnSRohyRxUGxeAXPEgEQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:xoj1XyPMV48=:/YeXbIIY9FndKaa/Iv/J/g ywmWpvyV+Rp8lsHxDsL4ETec3Wy36faEgn155P3Tq2axvo9gAVYjwxTxQvn8GqPPFtLuO+Mqu 5FvLV1pAU21iSQdf/zjMhy2BkBOSOIsLmqtF5gtuw2soPTlVk2qjd2KFniIlYWjpcsAtgZTmW fGNxso25E4hXtAN9GhiF2j3mqrCdhtqk0S6VcpnhZySwUUJ1btoErENA4XSxr2drocbAr5g1k dKcRCZyzrJuf0O+vjwlREoZz1nuzNkaUFkES/lrrtSIVKTjg0gDnvyVmPgZE9G98EzrbpdXqA 9Xiz/9yxCsXZOU+aLrt7iejS4jCocfKWscAxEj7zntnKBK3HBypUyv1pbQuzqdIQU/vEyhsuh HTEkw7b98yAcgp9tndpm5kj5cTPCvxJb+JQONhXHAAatlT1eg/ZtWT5I49jr2+rxllDKOja0p MswsHDLceqFIjdIipcodHjoJRrH4i/hLA/vOLGyhsfc+dpjW2OBpcFiXLtH0+kqutkelRm8bd 95qobz51AmywER1PERst/TejfQ+C7Z4ODUlkir3svkgKcA9lX6l8G0OCqlqJoUh5BNiS9N0fu gZmndmPhJhJ/dzq2zUac2OnzBq+tWK7WhV40nIOqGEO2ufWuidW/+6JebXmM5UaxEEPu1kLku A0B9XybmPcR7BrQi4o5qK0x2NeKnC75DpBDdRzv5uEJfMLCB8+DODfOfSJXX64cSltaysRxL9 upFIjOlpYyz8+YpMd8QNlUIb/f3rYa7MjHqUMjK+itB2TRdMhTbyhdD1BUtJxnfVbEk9ys2P X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.15.14 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:239062 Archived-At: Barry Fishman writes: > I question whether IFF is really that clear. If you want to be > mathematical, just use <=> or ===, and can be complete by defining the > => implementation operator also: > > (defun <=> (x y) (not (xor x y))) > > Or: > (defun => (x y) (or (not x) y) > (defun <=> (x y) (and (=> x y) (=> y x)) > > At least mathematicians will be happy (and nix programmers). Even as a mathematician I would hate the name `iff' when using it in Elisp which is not a language for writing mathematical stuff but for writing code. If you see something like (iff EXPR1 EXPR2) in code, how does it read? "If and only if evaluating EXPR1 yields non-nil then - ehm ...??? eh - what? -- ah, ok, let's see, I remember, it was just the negation of xor, so it actually means..." etc. Terrible. Michael.