all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: help-gnu-emacs@gnu.org
Subject: Re: Emacs Lisp coding style question
Date: Wed, 02 Jul 2014 09:50:50 -0400	[thread overview]
Message-ID: <jwvd2dn6fgk.fsf-monnier+gmane.emacs.help@gnu.org> (raw)
In-Reply-To: 87k37vykb2.fsf@gmail.com

>>> But (without being able to give concrete examples right now) I noticed
>>> that advanced Lispers tend to call this 'C-style', consider the let

I've never seen it referred to as "C-style".  To me "C-style" would be

   (let (a b c d e)
     (setq a (foo-a))
     (setq b (foo-b))
     ...)

>>> What would be the recommended style for Emacs Lisp, or is this just a
>>> matter of taste?

Mostly taste, and it depends on the specifics.  I.e. it depends on
whether the intermediate names can be useful as code documentation, and
indentation issues may also tip the balance between the two.

>> Notice that both code might compile to the exact same binary, so there's
>> no efficiency advantage in either.

The Emacs Lisp implementation (both interpreted and compiled) is not
sophisticated enough to get the same efficiency out of the let-binding
version, actually.

> But in terms of uncompiled user-code - would the impact of the let
> bindings here be worth thinking about performance?

No the difference should not be noticeable anyway.


        Stefan




  reply	other threads:[~2014-07-02 13:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.4706.1404305298.1147.help-gnu-emacs@gnu.org>
2014-07-02 12:56 ` Emacs Lisp coding style question Pascal J. Bourguignon
2014-07-02 13:14   ` Thorsten Jolitz
2014-07-02 13:50     ` Stefan Monnier [this message]
2014-07-02 14:04       ` Thorsten Jolitz
     [not found]     ` <mailman.4715.1404309100.1147.help-gnu-emacs@gnu.org>
2014-07-02 15:20       ` Barry Margolin
2014-07-02 12:47 Thorsten Jolitz
2014-07-02 14:19 ` Grant Rettke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvd2dn6fgk.fsf-monnier+gmane.emacs.help@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.