From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: member returns list Date: Sat, 05 Sep 2015 19:35:14 +0200 Message-ID: <87d1xwbwh9.fsf@debian.uxu> References: <55E5C99B.3020608@yandex.ru> <87lhcpu2wb.fsf_-_@debian.uxu> <874mjchisl.fsf@web.de> <87pp20jxy7.fsf@debian.uxu> <87twrcxyfk.fsf@mbork.pl> <87y4gnt2r5.fsf@debian.uxu> <87twran0dw.fsf@mbork.pl> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1441474056 4149 80.91.229.3 (5 Sep 2015 17:27:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 5 Sep 2015 17:27:36 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Sep 05 19:27:28 2015 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZYHFO-0004zn-OQ for geh-help-gnu-emacs@m.gmane.org; Sat, 05 Sep 2015 19:27:26 +0200 Original-Received: from localhost ([::1]:41926 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYHFO-0006oG-Ve for geh-help-gnu-emacs@m.gmane.org; Sat, 05 Sep 2015 13:27:26 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57731) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYHFE-0006oA-B9 for help-gnu-emacs@gnu.org; Sat, 05 Sep 2015 13:27:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZYHF9-0006cL-Bs for help-gnu-emacs@gnu.org; Sat, 05 Sep 2015 13:27:16 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:55534) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYHF9-0006c2-59 for help-gnu-emacs@gnu.org; Sat, 05 Sep 2015 13:27:11 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZYHF3-0004cI-EA for help-gnu-emacs@gnu.org; Sat, 05 Sep 2015 19:27:05 +0200 Original-Received: from nl106-137-244.student.uu.se ([130.243.137.244]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 05 Sep 2015 19:27:05 +0200 Original-Received: from embe8573 by nl106-137-244.student.uu.se with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 05 Sep 2015 19:27:05 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Original-Lines: 68 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: nl106-137-244.student.uu.se Mail-Copies-To: never User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) Cancel-Lock: sha1:NmaBWzMM4SF9ydX2GTAN5Bp3sX4= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:107033 Archived-At: Marcin Borkowski writes: >> Hot! >> >> Love Emacs and Lisp inconsistency! > > assq delq memq rassq remq > > ...inconsistency? Of course, inconsistency in one direction can be consistent in another. Then those directions are collectively inconsistent with each other, one could say. "Orthogonal" perhaps, in the world of mathematics? If we stick to `member' (using `equal') vs. `memq' (using `eq'), this renaming of those: member-equal member-eq would be seen by some people as more consistent than the actual member memq however such inconsistency is *beneficial* because it makes things stick out more when you read the code, and it is also less error prone as, if you type "member-equal" two times, and then you are to type "member-eq", sometimes you will type "member-equal" just by the motion of it! That would sure be a difficult bug to spot because, again, it looks too much like what it in this case should be, but isn't. This is parallel to one aspect of interface programming. For example an interface presenting physical data. What some people would do is they would arrange the data display logically. The direction and strength of the wind in one corner and the temperature in fahrenheit, celsius, and kelvin in another corner. This is consistent, no doubt, but is it efficient? Not necessarily! If this should be used every day, the most important stuff should be in the middle. We assume this is in the land of honor and heroes, i.e., Northen Europe. Then the celsius should be put in the middle, and the fahrenheit and kelvin can be put wherever, right next to the wind data, for example. But how will then people find it in this inconsistent mess? Because as they use it every day, they will not navigate it by thinking logically. They will quickly learn, and thereafter know, where to look! In a program like Emacs with I don't know how many (?) functions, variables, etc., "learning and navigating" is more difficult than finding data on a display. With completion, it would have been easier for me to find "member-eq" if `memq' was named like that. So there are many aspects of this. As for me, I still prefer the inconsistency for the reasons stated. I'm not in a rush learning and navigating Emacs. Everything, and always, in time! -- underground experts united http://user.it.uu.se/~embe8573