From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Pascal J. Bourguignon" Newsgroups: gmane.emacs.help Subject: Re: Always using let* Date: Tue, 16 Sep 2014 02:38:21 +0200 Organization: Informatimago Message-ID: <87sijsz9fm.fsf@kuiper.lan.informatimago.com> References: <87fvfukmso.fsf@Equus.decebal.nl> <87mwa1lhb1.fsf@kuiper.lan.informatimago.com> <022a6bc4-ba00-4f09-aa04-73186faa911a@default> <87ioko8qnd.fsf@debian.uxu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1410828327 27496 80.91.229.3 (16 Sep 2014 00:45:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 16 Sep 2014 00:45:27 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Sep 16 02:45:20 2014 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 1XTgtT-0003Es-Ba for geh-help-gnu-emacs@m.gmane.org; Tue, 16 Sep 2014 02:45:19 +0200 Original-Received: from localhost ([::1]:35199 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XTgtT-0004fX-1T for geh-help-gnu-emacs@m.gmane.org; Mon, 15 Sep 2014 20:45:19 -0400 Original-Path: usenet.stanford.edu!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 43 Original-X-Trace: individual.net Feqcptj4d9tZC+RZSyavngSirgwP9sPXYHyz6eHx0RXC0/adzx Cancel-Lock: sha1:MGQ5NWNjN2NiZjE5Njg1YjY5MmQ4M2QwNjNiZTA2NmRlNTY0YjM2OA== sha1:J/rkwNGgO3yAQ3sg7hwV2GKSVDU= Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Original-Xref: usenet.stanford.edu gnu.emacs.help:207668 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 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-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:99941 Archived-At: Emanuel Berg writes: > Stefan Monnier writes: > >> which is usually understood as "use parallel >> processing", aka "make use of multiple computational >> units at the same time". > > Yes - this is my definition of parallelism as well: > true concurrency, not perceived (as in preemption, > context switching, and so on). > > The question is: does any Lisp do this with `let'? > > If yes, that Lisp could do it partly with let* as well > only that would imply an overhead to sort out where > there are precedence constraints. > > The appeal of doing it for let is that it wouldn't be > any fuss - just distribute, compute, and execute the > body all set. But if no one did it, some practical > obstacle must still have gotten into the way... Well, the actual reason why LET and LET* are the way they are, is purely history. Somebody invented LET first. Then somebody noted that they had sometimes to write (let ((a 1)) (let ((b (+ a 1))) (let ((c (+ a b))) …))) so they wrote the LET* macro to do that, and it stayed that way since then. Perhaps one LISP had it reversed, but since it was in the minority, when they documented the common lisp language, it was LET/LET* we know that won. Notice that emacs lisp is in the majority here. -- __Pascal Bourguignon__ http://www.informatimago.com/ “The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.” -- Carl Bass CEO Autodesk