From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Barry Margolin <barmar@alum.mit.edu> Newsgroups: gmane.emacs.help Subject: Re: Always using let* Date: Mon, 15 Sep 2014 09:14:46 -0400 Organization: A noiseless patient Spider Message-ID: <barmar-E51F0B.09144615092014@news.eternal-september.org> References: <87fvfukmso.fsf@Equus.decebal.nl> <mailman.8868.1410729956.1147.help-gnu-emacs@gnu.org> <jwvy4tlddv8.fsf-monnier+gnu.emacs.help@gnu.org> <mailman.8871.1410736002.1147.help-gnu-emacs@gnu.org> <jwv8ulld3sv.fsf-monnier+gnu.emacs.help@gnu.org> <87mwa1lhb1.fsf@kuiper.lan.informatimago.com> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1410786927 11489 80.91.229.3 (15 Sep 2014 13:15:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 15 Sep 2014 13:15: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 Mon Sep 15 15:15:21 2014 Return-path: <help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org> 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 <help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org>) id 1XTW7j-0003kH-3j for geh-help-gnu-emacs@m.gmane.org; Mon, 15 Sep 2014 15:15:19 +0200 Original-Received: from localhost ([::1]:59686 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org>) id 1XTW7i-0003Zl-Ja for geh-help-gnu-emacs@m.gmane.org; Mon, 15 Sep 2014 09:15:18 -0400 Original-Path: usenet.stanford.edu!news.kjsl.com!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!barmar.motzarella.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 29 Injection-Info: barmar.motzarella.org; posting-host="2be9e9f5dd9af768b8861af71b85fc28"; logging-data="16508"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX189FU/0DDboN8Skl4SW3kdQ" User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) Cancel-Lock: sha1:n4yLKbgIifa4XgBQ6BlI1eNJuXw= Original-Xref: usenet.stanford.edu gnu.emacs.help:207651 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 <help-gnu-emacs.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/help-gnu-emacs>, <mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe> List-Archive: <http://lists.gnu.org/archive/html/help-gnu-emacs> List-Post: <mailto:help-gnu-emacs@gnu.org> List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/help-gnu-emacs>, <mailto:help-gnu-emacs-request@gnu.org?subject=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:99923 Archived-At: <http://permalink.gmane.org/gmane.emacs.help/99923> In article <87mwa1lhb1.fsf@kuiper.lan.informatimago.com>, "Pascal J. Bourguignon" <pjb@informatimago.com> wrote: > Stefan Monnier <monnier@iro.umontreal.ca> writes: > > >> Lisps such as Common Lisp were specifically designed with this > >> parallel evaluation in mind. The spec (and CLTL(2)) specifically > >> emphasizes the inherent parallelism (independence) here that > >> implies the *possibility* of parallel evaluation. > > > > I simply claim that this is bogus. Only the var-binding is "parallel", not > > the computation of each value. So it's a "parallel binding" semantics, > > but it has nothing to do with efficient execution on multiple > > execution units. > > The claim is not bogus. It's just that in general, in presence of side > effects, since the expressions must be evaluated from left to right, > indeed, only the assignments can be performed in parallel. If the LET can be done in parallel, so could LET*. Remember, we're talking about compiled code. The inner and outer variables are not the same memory location, even if they have the same name. The difference between LET and LET* just has to do with which scope the compiler looks up the name in. -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me ***