From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: CL package serious deficiencies Date: Wed, 8 Feb 2012 06:26:10 -0800 Message-ID: <4C624DF73557481FBAECC02C61D4BC61@us.oracle.com> References: <33271707.post@talk.nabble.com><87fwemcwlx.fsf@spindle.srvr.nix><87zkcubbfc.fsf@spindle.srvr.nix><87vcnibb9t.fsf@spindle.srvr.nix> <5tr4y6z2pv.fsf@fencepost.gnu.org><87bopab5p6.fsf@spindle.srvr.nix> <87r4y5e910.fsf@gmx.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1328711220 15003 80.91.229.3 (8 Feb 2012 14:27:00 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 8 Feb 2012 14:27:00 +0000 (UTC) Cc: 'egnarts-ms' , 'Stefan Monnier' , 'Lennart Borgman' , Emacs-devel@gnu.org To: "'Eric Schulte'" , "'Nix'" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 08 15:26:58 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Rv8U1-00043J-Gl for ged-emacs-devel@m.gmane.org; Wed, 08 Feb 2012 15:26:53 +0100 Original-Received: from localhost ([::1]:50055 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rv8Tx-0002UQ-W0 for ged-emacs-devel@m.gmane.org; Wed, 08 Feb 2012 09:26:49 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:42181) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rv8Tp-00029N-74 for Emacs-devel@gnu.org; Wed, 08 Feb 2012 09:26:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rv8Tj-000422-B8 for Emacs-devel@gnu.org; Wed, 08 Feb 2012 09:26:41 -0500 Original-Received: from rcsinet15.oracle.com ([148.87.113.117]:40008) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rv8Tj-00041k-3W; Wed, 08 Feb 2012 09:26:35 -0500 Original-Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q18EQJp9014285 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 8 Feb 2012 14:26:21 GMT Original-Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q18EQI57000221 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 8 Feb 2012 14:26:19 GMT Original-Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54]) by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q18EQHqb003260; Wed, 8 Feb 2012 08:26:17 -0600 Original-Received: from dradamslap1 (/10.159.46.217) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 08 Feb 2012 06:26:17 -0800 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <87r4y5e910.fsf@gmx.com> Thread-Index: AczmZ5fRc+csfNSsSY+0/hCr4oRQFgAAuH6Q X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-CT-RefId: str=0001.0A090201.4F32860E.00D7,ss=1,re=0.000,fgs=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) X-Received-From: 148.87.113.117 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:148359 Archived-At: > We already have at least the following Org-specific re-writes > of existing cl-functions, and we frequently have > to cull other cl functions from the code base. > > org-count > org-find-if > org-reduce > org-remove-if > org-remove-if-not Likewise, for my code (e.g. Icicles, Bookmark+) - same usual suspects: simple sequence functions. Not a biggee, but a clear hint, no? > M-x apropos "remove-if" yields the following 9 functions all of > which are currently distributed as part of Emacs. > > ert--remove-if-not > gnus-remove-if > gnus-remove-if-not > org-remove-if > org-remove-if-not > recentf-remove-if-non-kept > remove-if > remove-if-not > widget-remove-if This is precisely what I meant by: >> 5. IMO it makes sense to proceed gradually, and to start by >> including more of the simpler things that do work well, >> even if in a limited way, into regular Emacs Lisp. Such sequence functions (or similar) are one obvious place to start, IMHO. And preferably _with_ support for at least some keyword arguments (or else equivalent, non-keyword args) - in particular, :test and :key. But hey, we still do not have a fast version of `remove-duplicates' - http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10386#11, http://article.gmane.org/gmane.emacs.devel/139546/match=remove+dups. And that's perhaps an example of one of the problems with cl.el: the cl.el version of `remove-duplicates' is actually much _slower_ than the typical naive Lisp definition. Unfortunately: >> 6. We've been through this (#5) before. Candidate functions >> have been nominated and discussed. Some people have longer >> wishlists of functions than others. But little to nothing >> comes of it. Dommage, IMO.