From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Phillip Lord Newsgroups: gmane.emacs.devel Subject: Re: dash.el [was: Re: Imports / inclusion of s.el into Emacs] Date: Mon, 11 May 2020 18:55:34 +0100 Message-ID: <873686bbl5.fsf@russet.org.uk> References: <0c88192c-3c33-46ed-95cb-b4c6928016e3@default> <87wo5mc04t.fsf@fastmail.fm> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="58232"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.90 (gnu/linux) Cc: joostkremers@fastmail.fm, ams@gnu.org, emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 11 19:56:37 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jYCfM-000F46-1k for ged-emacs-devel@m.gmane-mx.org; Mon, 11 May 2020 19:56:36 +0200 Original-Received: from localhost ([::1]:41208 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYCfL-00011b-1y for ged-emacs-devel@m.gmane-mx.org; Mon, 11 May 2020 13:56:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38244) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYCeU-00083Q-9w for emacs-devel@gnu.org; Mon, 11 May 2020 13:55:42 -0400 Original-Received: from cloud103.planethippo.com ([78.129.138.110]:44824) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYCeS-00083b-3N; Mon, 11 May 2020 13:55:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ZXIiUDTpVGIBVzL6p8V9SaCVWRTvKy8+qxxPA9N7uLc=; b=zCimJv54GgdcY5xJByhZ3vght DhjFXZfkM/81TXvLX6r7xhqu9GQmldKB8SdyRp37i+tsVAYDrkmaRZMWra0Dmxrh+c4n2jpifPyos a0mvU+kBD/axhGGz1YpsK/vvcgSp491dvW0BULA+VmWpOX8E4V6gx7icb7MY2vG2TUIgI7eNv+QKd 4/EPbE3TVm3m/jUdpFlUJgaguo2shK1f8+wQx/ZgO0S+7EVGT4FFAmDG285eEco+0jQdT16C2c6rB UV4tGFQuUDLglUvDWpdHZJaObO2tWCleSfZfRvhLD9dxqL2Cv9Pfy6/0BAV1LFzdcyMH1KZ1eOJwx OYlJKswdQ==; Original-Received: from cpc142652-benw12-2-0-cust953.16-2.cable.virginm.net ([82.21.43.186]:33960 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1jYCeO-00037Y-U9; Mon, 11 May 2020 18:55:36 +0100 In-Reply-To: (Richard Stallman's message of "Sun, 10 May 2020 22:40:39 -0400") X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk Received-SPF: none client-ip=78.129.138.110; envelope-from=phillip.lord@russet.org.uk; helo=cloud103.planethippo.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/11 12:19:44 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:249844 Archived-At: Richard Stallman writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > Thanks for the explanation. Now I think I basically understand > the design of dash.el. > > I wonder if there really need to be anaphoric versions and functional > versions of each construct. I think it would be easy to define > a macro thaat can handle both cases. > > FUN-NAME for a function to call > (lambda ...) for an anonymous function to call > (apply EXP) to evaluate EXP to get the function to call > LIST-EXPRESSION for anaphora > > WDYT? It would be a library rewrite because Magnar mostly defines the function forms in terms of the anaphoric macros. The point of the anaphoric macros is, I think, to stop you from having to write `(lambda() it)` to replacing it with calls to `lambda` does not really make sense. This probably is inspired by clojure which has a very short read macro support functions --- (map #(/ % 2) '(2 4 6 8)) It's quite neat (the % being the equivalent of dash.el's `it`). Phil