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: [PATCH] Clojure-like syntactic sugar for an anonymous function literal Date: Thu, 22 Jan 2015 18:28:25 -0500 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1421969329 11864 80.91.229.3 (22 Jan 2015 23:28:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 22 Jan 2015 23:28:49 +0000 (UTC) Cc: emacs-devel@gnu.org To: Oleh Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 23 00:28:44 2015 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 1YERB6-0006GE-8W for ged-emacs-devel@m.gmane.org; Fri, 23 Jan 2015 00:28:44 +0100 Original-Received: from localhost ([::1]:56508 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YERB5-000415-5p for ged-emacs-devel@m.gmane.org; Thu, 22 Jan 2015 18:28:43 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59358) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YERAt-000409-Br for emacs-devel@gnu.org; Thu, 22 Jan 2015 18:28:32 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YERAo-0002pJ-DJ for emacs-devel@gnu.org; Thu, 22 Jan 2015 18:28:31 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:7759) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YERAo-0002pD-AH for emacs-devel@gnu.org; Thu, 22 Jan 2015 18:28:26 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjsPAOwQflSnWBWM/2dsb2JhbABbgweDYIVaxR0EAgKBJBcBAQEBAQF8hAMBAQMBViMFCws0EhQYDSSISgnWWQEBAQEGAQEBAR6QbweESAWLAZIxj3OEAoQZIYJ3AQEB X-IPAS-Result: AjsPAOwQflSnWBWM/2dsb2JhbABbgweDYIVaxR0EAgKBJBcBAQEBAQF8hAMBAQMBViMFCws0EhQYDSSISgnWWQEBAQEGAQEBAR6QbweESAWLAZIxj3OEAoQZIYJ3AQEB X-IronPort-AV: E=Sophos;i="5.07,502,1413259200"; d="scan'208";a="108511064" Original-Received: from 167-88-21-140.cpe.teksavvy.com (HELO pastel.home) ([167.88.21.140]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 22 Jan 2015 18:28:25 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 89849EDE; Thu, 22 Jan 2015 18:28:25 -0500 (EST) In-Reply-To: (Oleh's message of "Thu, 22 Jan 2015 18:22:13 +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:181639 Archived-At: > Or at least the 3rd party control flow structures should > not propagate. I actually disagree here. I think it's perfectly fine to define new control structures, either in 3rd party libraries or locally for use in your own file. It's one of the main strengths of Lisp. > Am I right in the assumption that only current #(...) syntax is that > of #("foo" ...)? Nothing other than propertized strings uses it? I didn't check the C code, but I believe that's right, yes. > Note that #(foo %) is open to optimizations: it doesn't have to be > exactly (lambda (%) (foo %)), (lambda (%) (foo %)) is also open to optimizations, and actually to probably exactly the same optimizations. Not that we bother to perform any anyway (because there really aren't many such optimizations that can be done reliably without a fair bit of analysis). > Just to show you that weird things are happening either way: > (defun projectile-unixy-system-p () > "Check to see if unixy text utilities are installed." > (--all? (executable-find it) '("grep" "cut" "uniq"))) It's OK. Languages evolve, and I'm fine with it. I'm not fond of anaphoric macros (I tend to think of them as "anti-hygienic macros" instead), but that's only a matter of taste. Stefan