From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: Defining functions within functions? Date: Wed, 25 May 2016 00:21:44 +0200 Organization: Aioe.org NNTP Server Message-ID: <86a8jfgkqv.fsf@student.uu.se> References: <87k2ilbblk.fsf@mbork.pl> <87mvngsfiw.fsf@web.de> <874m9n6t3o.fsf@mbork.pl> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1464883019 9368 80.91.229.3 (2 Jun 2016 15:56:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 2 Jun 2016 15:56:59 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Jun 02 17:56:56 2016 Return-path: Envelope-to: geh-help-gnu-emacs@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 1b8UzQ-0005mu-Aw for geh-help-gnu-emacs@m.gmane.org; Thu, 02 Jun 2016 17:56:56 +0200 Original-Received: from localhost ([::1]:48176 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8UzP-000196-JA for geh-help-gnu-emacs@m.gmane.org; Thu, 02 Jun 2016 11:56:55 -0400 Original-Path: usenet.stanford.edu!news.kjsl.com!1.us.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 36 Original-NNTP-Posting-Host: EoOtCC1fCYcttx6jjhWUlA.user.gioia.aioe.org Original-X-Complaints-To: abuse@aioe.org User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) X-Notice: Filtered by postfilter v. 0.8.2 Cancel-Lock: sha1:o54U2ZY6YiJ8Xtv9Zr+jIP1jt3I= Mail-Copies-To: never Original-Xref: usenet.stanford.edu gnu.emacs.help:217858 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:110225 Archived-At: Carlos Konstanski writes: > My 2 cents: as a common lisp propgrammer, > I find two uses for labels/flet: > > - Recusrion. The wrapping code sets up the > initial enviornment and then calls the inner > function where all the real work happens. > In all other languages you need two functions, > but in lisp you can package the entire thing > into one form with an inner function. Recursion is cool for schoolbook problems like list and trees that are searched and shaped back and forth. In most applications it is better to use set functions (built-in higher-order functions) to "do" the list data... > - Arguments for free: If the flet is defined > within the lexical scope of some bindings, > you can treat those bindings as "globals" and > not have to pass them into the function. > I'm guessing this is what all the > let-over-lambda talk is about. There is nothing wrong with passing things to functions! On the contrary. It is much clearer than having scope intermingling like you describe. -- underground experts united .... http://user.it.uu.se/~embe8573 Emacs Gnus Blogomatic ......... http://user.it.uu.se/~embe8573/blogomatic - so far: 40 Blogomatic articles -