From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16093 invoked by alias); 11 Feb 2011 17:26:25 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 28743 Received: (qmail 19266 invoked from network); 11 Feb 2011 17:26:14 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received-SPF: none (ns1.primenet.com.au: domain at klanderman.net does not designate permitted sender hosts) From: Greg Klanderman To: Zsh list Subject: anonymous functions Reply-To: gak@klanderman.net Date: Fri, 11 Feb 2011 12:17:46 -0500 In-Reply-To: (Bart Schaefer's message of "Fri, 11 Feb 2011 08:26:13 -0800") Message-ID: User-Agent: Gnus/5.1008 (Gnus v5.10.8) XEmacs/21.4.17 (linux) References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii >>>>> On February 11, 2011 Bart Schaefer wrote: > If your zsh is recent enough to have anonymous functions Why are these things called 'anonymous functions'? That name connotes lambda, which would create an unnamed function you could store in a variable, pass as an argument, return from a function, and call at some later time. They should be called 'local scopes' or 'local blocks' or even 'blocks', and use their own reserved word. The concepts are of course related; in lisp-like languages (let ((a ) (b ) (c )) ) is of course equivalent to ((lambda (a b c) ) ) Greg