From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Including some functions from dash.el in Emacs? Date: Wed, 29 Oct 2014 12:35:37 -0400 Message-ID: References: <87wq7j72wz.fsf@gmail.com> <87ppdb6mol.fsf@gmail.com> <87mw8f6i8i.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1414600573 8259 80.91.229.3 (29 Oct 2014 16:36:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Oct 2014 16:36:13 +0000 (UTC) Cc: Emacs development discussions To: Nicolas Petton Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 29 17:36:06 2014 Return-path: Envelope-to: ged-emacs-devel@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 1XjWE3-00050f-Ll for ged-emacs-devel@m.gmane.org; Wed, 29 Oct 2014 17:35:59 +0100 Original-Received: from localhost ([::1]:47301 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjWE2-0005M3-UV for ged-emacs-devel@m.gmane.org; Wed, 29 Oct 2014 12:35:58 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51722) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjWDr-0005Kq-Be for emacs-devel@gnu.org; Wed, 29 Oct 2014 12:35:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjWDi-0007Ru-PT for emacs-devel@gnu.org; Wed, 29 Oct 2014 12:35:47 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:2852) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjWDi-0007Rd-IX for emacs-devel@gnu.org; Wed, 29 Oct 2014 12:35:38 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Au4MAOatTlRFpY87/2dsb2JhbABcgw6DYoZ+y1MEAgKBHBcBAXyEAwEBAwFWIwULCzQSFBgNJIhLCctyAQEBBwIBH5EIB4RLBZ8Sg0mPRYFvhBQhgnoBAQE X-IPAS-Result: Au4MAOatTlRFpY87/2dsb2JhbABcgw6DYoZ+y1MEAgKBHBcBAXyEAwEBAwFWIwULCzQSFBgNJIhLCctyAQEBBwIBH5EIB4RLBZ8Sg0mPRYFvhBQhgnoBAQE X-IronPort-AV: E=Sophos;i="5.04,797,1406606400"; d="scan'208";a="95519094" Original-Received: from 69-165-143-59.dsl.teksavvy.com (HELO pastel.home) ([69.165.143.59]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 29 Oct 2014 12:35:37 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 923437ABE; Wed, 29 Oct 2014 12:35:37 -0400 (EDT) In-Reply-To: <87mw8f6i8i.fsf@gmail.com> (Nicolas Petton's message of "Wed, 29 Oct 2014 15:52:29 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.181 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:176017 Archived-At: > I think that using cl-lib only to filter a list shows that something is > missing from the language. To me it is also weird to use prefixed > functions for basic features like "cl-remove-if" and "cl-reduce". The real problem indeed is one of naming and coherence. It would be nice to group all list functions under the "list-" prefix, for example. The main benefit I see of the dash.el library is that it tries to provide a coherent set of names (and functionality). But it falls into the trap of having a "too attractive" very short prefix, so it goes on and adds things unrelated to lists (e.g. the threading macros, the when-lets, the function combinators). > Please understand that I'm only willing to understand the reason behind > this and why adding some of this functions wouldn't modernize and > improve Elisp. Just because something has existed for a long time doesn't mean it's bad, so "modernizing" is pretty low on my priority list. But yes, Elisp's "core" functions suffer from lots of irregularities, and getting rid of them would be an improvement. E.g.: - Merging the various `get', `window-parameter', `process-get', ... - Merge nth, aref, and elt. - Group related functions under one prefix (e.g. for lists). Stefan