From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Oleh Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Clojure-like syntactic sugar for an anonymous function literal Date: Thu, 22 Jan 2015 09:04:30 +0100 Message-ID: References: <54C05269.7050602@dancol.org> <87a91buvqj.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1421914182 24532 80.91.229.3 (22 Jan 2015 08:09:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 22 Jan 2015 08:09:42 +0000 (UTC) Cc: Daniel Colascione , emacs-devel@gnu.org To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jan 22 09:09:41 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 1YECpg-0007Jf-Jx for ged-emacs-devel@m.gmane.org; Thu, 22 Jan 2015 09:09:40 +0100 Original-Received: from localhost ([::1]:51587 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YECpf-0001xy-Vc for ged-emacs-devel@m.gmane.org; Thu, 22 Jan 2015 03:09:39 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49202) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YECki-0002rb-OA for emacs-devel@gnu.org; Thu, 22 Jan 2015 03:04:33 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YECkh-0006Mc-RN for emacs-devel@gnu.org; Thu, 22 Jan 2015 03:04:32 -0500 Original-Received: from mail-we0-x22f.google.com ([2a00:1450:400c:c03::22f]:41207) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YECkh-0006MX-Lc for emacs-devel@gnu.org; Thu, 22 Jan 2015 03:04:31 -0500 Original-Received: by mail-we0-f175.google.com with SMTP id k11so198432wes.6 for ; Thu, 22 Jan 2015 00:04:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=MuE6EXW1BfTSbwtvxLMXwwnPDYSRnN/m1z7PJu8poR4=; b=ENtM68L9uNu6Jx1eKOkSTkdnCGjX70cQPXprcU9keKRCmpovupVoFxEm/MqRpBvEQ4 wUKHpUkJKPQy+/8d0d8Qqht0hMa5mUPFB2MJyM4DdL4Dl+HV/7/yr0cZ35Vn+Bwi+Xcc L2/6GbKA9nPnaQsdbqaY0tWrfCF44/OX+CuwBgLfS8QXlNzrthV3hxBNCpuplUQRvzIt PmuhNbHSyYK/1UC7yo3YjAjzRVtv55yIr/aiECdJfB8YtUWGQ1j6bRFQfJn5j+h59O2w AA3pO4boclAOV88eXdBITE/ngjKZdHqRE6Neb+KhKh0N2ZxAl9QkTW4VsrwTo1lmu0rV hswQ== X-Received: by 10.180.74.236 with SMTP id x12mr65578070wiv.40.1421913870969; Thu, 22 Jan 2015 00:04:30 -0800 (PST) Original-Received: by 10.27.137.137 with HTTP; Thu, 22 Jan 2015 00:04:30 -0800 (PST) In-Reply-To: <87a91buvqj.fsf@uwakimon.sk.tsukuba.ac.jp> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c03::22f 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:181556 Archived-At: Hi Stephen, > > > > > > This is my first attempt of modifying the C source of Emacs. > > > The goal is to add a new reader syntax: > > > > > > #(foo bar) should translate to (short-lambda (foo bar)) > > > > Thanks, but I'd strongly prefer not to baking this syntax into the elisp > > reader. > > XEmacs is -1 on this change for the same reasons Daniel gives. > > I also don't like it because the convention is to use "#c" (where c is > some character) for new syntax (eg, XEmacs uses #r"" for "rawstring > syntax", where the benefit is huge because of the unreadability of > regexps in ordinary strings). Note that it only takes the "#([^\"]" spot. The "#c" convention is completely untouched, unless "c" is "(". Of course, I'm open to other variants, if this isn't accepted, maybe "#l(foo bar)". The initial suggestion would be immediately familiar to any Clojure programmer. Clojure is a bit more popular than Elisp, judging by 8000 vs 3000 questions on Stack Overflow, and 25,000 vs 22,000 repositories on Github. I'm also open to trying my hand at the "CL-style reader-macro facility". But this task would be much more complex than the simple hack that I'm presenting here. So I really want to make sure that this feature is wanted and will be accepted before I spend time on it.