From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Barry Margolin Newsgroups: gmane.emacs.help Subject: Re: Why aren't `find`, `find-if`, `remove-if` part of Emacs Lisp? Date: Wed, 25 Jun 2014 11:37:14 -0400 Organization: A noiseless patient Spider Message-ID: References: <87d2e78nn7.fsf@gmail.com> <87bntr8jtc.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1403710838 20305 80.91.229.3 (25 Jun 2014 15:40:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 25 Jun 2014 15:40:38 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Jun 25 17:40:32 2014 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 1WzpJB-0001Fv-5F for geh-help-gnu-emacs@m.gmane.org; Wed, 25 Jun 2014 17:40:25 +0200 Original-Received: from localhost ([::1]:38735 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WzpJA-0006zq-Oo for geh-help-gnu-emacs@m.gmane.org; Wed, 25 Jun 2014 11:40:24 -0400 Original-Path: usenet.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.xs4all.nl!newsfeed3a.news.xs4all.nl!xs4all!rt.uk.eu.org!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!barmar.motzarella.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 29 Injection-Info: barmar.motzarella.org; posting-host="2be9e9f5dd9af768b8861af71b85fc28"; logging-data="20186"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+gHUDOwj9+qnaeXlWMV05R" User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) Cancel-Lock: sha1:LqlfNvEclSttglJSbiCv/CSxKqU= Original-Xref: usenet.stanford.edu gnu.emacs.help:206123 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:98394 Archived-At: In article , Christoph Wedler wrote: > >> (8) I don't mind if a very complex and heavyweight function takes keyword > >> arguments. What bothers me is making simple basic functions such as > >> "member" use them. ... > What is wrong with the keyword parameters :test, :test-not and :key of > cl-member (should be `member' ;-)) - which position do you want to give > them - or do you want to invent extra function names for them? I believe what RMS was saying is that they shouldn't have all those options at all -- they're no longer "simple basic functions". Yes, we do invent extra function names for them. Elisp (like Maclisp before it) has member and memq, while CL has a single function MEMBER with a :TEST option (and to make things worse, the default test is not the same as the Maclisp MEMBER function, it's more like MEMQ). Note that CL isn't totally consistent about this. There are a number of functions that come in destructive and non-destructive versions (e.g. NCONC and APPEND), rather than a single function with a :DESTRUCTIVE option. In the case of APPEND/NCONC, this is necessary because they take all the arguments as a single &REST list, so there's no place to put options. -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me ***