From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: anaphora in emacs-lisp? Date: Sun, 10 Aug 2014 21:46:52 -0400 Message-ID: References: <87lhqyg1yr.fsf@ferrier.me.uk> Reply-To: rms@gnu.org NNTP-Posting-Host: plane.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: ger.gmane.org 1407721622 14256 80.91.229.3 (11 Aug 2014 01:47:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 11 Aug 2014 01:47:02 +0000 (UTC) Cc: nferrier@ferrier.me.uk, emacs-devel@gnu.org To: Josh Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Aug 11 03:46:58 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 1XGehN-0005Ev-Vk for ged-emacs-devel@m.gmane.org; Mon, 11 Aug 2014 03:46:58 +0200 Original-Received: from localhost ([::1]:33289 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGehN-00082Z-Kk for ged-emacs-devel@m.gmane.org; Sun, 10 Aug 2014 21:46:57 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40446) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGehK-00082U-87 for emacs-devel@gnu.org; Sun, 10 Aug 2014 21:46:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XGehJ-0006M0-3p for emacs-devel@gnu.org; Sun, 10 Aug 2014 21:46:54 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34280) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGehJ-0006Lt-0e for emacs-devel@gnu.org; Sun, 10 Aug 2014 21:46:53 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1XGehI-0003ug-Cq; Sun, 10 Aug 2014 21:46:52 -0400 In-reply-to: (message from Josh on Sun, 10 Aug 2014 16:18:25 -0700) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e 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:173559 Archived-At: [[[ 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. ]]] It sounds like Nic is proposing something much like what I did last year[0], for much the same reasons. That text doesn't directly tell me what the feature is. (I could send mail to fetch the page, but that would delay my response till tomorrow.) Fortunately, Nic was more directly explicit: aif, awhen, acond - decision macros that capture the value of the test expression in the variable "it" for use later in the body. In principle, such features are desirable, but the syntax tends to be either inelegant or clumsy. If the variable gets a fixed name, it is inelegant; if you specify the name, it does not save you much. If the variable is always called 'it', that's the inelegant variety. `when-let' is an example of the variety that doesn't save you much. Also, names such as 'aif' are unhelpful. Only people who have studied linguistics know what "anaphora" means, and nobody will guess what the 'a' stands for. If they were called 'if-it', 'when-it', and 'cond-it', they would be a little less inelegant, because the variable name to be bound appears visibly (albeit in the name of the macro). Also, these names would suggest what the constructs do. So these names are much better. If we have these, we should also have 'unless-it' and 'case-it'. -- Dr Richard Stallman President, Free Software Foundation 51 Franklin St Boston MA 02110 USA www.fsf.org www.gnu.org Skype: No way! That's nonfree (freedom-denying) software. Use Ekiga or an ordinary phone call.