From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thorsten Jolitz Newsgroups: gmane.emacs.help Subject: Re: Emacs Lisp coding style question Date: Wed, 02 Jul 2014 16:04:25 +0200 Message-ID: <87fvijyhzq.fsf@gmail.com> References: <87mwcrudf5.fsf@kuiper.lan.informatimago.com> <87k37vykb2.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1404309970 6010 80.91.229.3 (2 Jul 2014 14:06:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 2 Jul 2014 14:06:10 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Jul 02 16:06:03 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 1X2LAg-0007P7-Jz for geh-help-gnu-emacs@m.gmane.org; Wed, 02 Jul 2014 16:06:02 +0200 Original-Received: from localhost ([::1]:53313 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2LAg-000734-1h for geh-help-gnu-emacs@m.gmane.org; Wed, 02 Jul 2014 10:06:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59762) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2L9g-0006Cq-Gn for help-gnu-emacs@gnu.org; Wed, 02 Jul 2014 10:05:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X2L9V-0007s1-KC for help-gnu-emacs@gnu.org; Wed, 02 Jul 2014 10:05:00 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:60432) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2L9V-0007ru-E0 for help-gnu-emacs@gnu.org; Wed, 02 Jul 2014 10:04:49 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1X2L9M-0006SZ-9Y for help-gnu-emacs@gnu.org; Wed, 02 Jul 2014 16:04:40 +0200 Original-Received: from g231109238.adsl.alicedsl.de ([92.231.109.238]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 02 Jul 2014 16:04:40 +0200 Original-Received: from tjolitz by g231109238.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 02 Jul 2014 16:04:40 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 43 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: g231109238.adsl.alicedsl.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:nmfhMuNhLRDVRv+I8vqUTA/0x0E= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:98509 Archived-At: Stefan Monnier writes: >>>> 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)) > ...) I cannot give a concrete url but I vaguely remember having seen such a reference. >>>> 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. Better indentation is probably one of the main reasons I find the (let ...) style easier to read in many cases. >>> 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. Ok, thanks, so there is no need to worry about this style-question, just use what seems to be the better option for the problem at hand. -- cheers, Thorsten