From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.emacs.devel Subject: Re: emacs lisp syntax rfc: (cond (EXPR => (lambda (X) ...))) Date: Tue, 04 Jan 2011 18:00:57 +0100 Message-ID: <8739p8bo3a.fsf@ambire.localdomain> References: <877hengesr.fsf@ambire.localdomain> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1294160837 6736 80.91.229.12 (4 Jan 2011 17:07:17 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 4 Jan 2011 17:07:17 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jan 04 18:07:12 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PaALY-0004MH-GZ for ged-emacs-devel@m.gmane.org; Tue, 04 Jan 2011 18:07:11 +0100 Original-Received: from localhost ([127.0.0.1]:36120 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PaAL4-0006d6-7T for ged-emacs-devel@m.gmane.org; Tue, 04 Jan 2011 12:06:26 -0500 Original-Received: from [140.186.70.92] (port=39725 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PaAKr-0006X0-UX for emacs-devel@gnu.org; Tue, 04 Jan 2011 12:06:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PaAKo-0002Op-6Z for emacs-devel@gnu.org; Tue, 04 Jan 2011 12:06:11 -0500 Original-Received: from smtp204.alice.it ([82.57.200.100]:34836) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PaAKn-0002OT-Vf for emacs-devel@gnu.org; Tue, 04 Jan 2011 12:06:10 -0500 Original-Received: from ambire.localdomain (95.244.66.212) by smtp204.alice.it (8.5.124.08) id 4C88E33B096474C1 for emacs-devel@gnu.org; Tue, 4 Jan 2011 18:06:08 +0100 Original-Received: from ttn by ambire.localdomain with local (Exim 4.69) (envelope-from ) id 1PaAFl-00050N-4M for emacs-devel@gnu.org; Tue, 04 Jan 2011 18:00:57 +0100 In-Reply-To: (Stefan Monnier's message of "Sun, 02 Jan 2011 21:19:44 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:134260 Archived-At: () Stefan Monnier () Sun, 02 Jan 2011 21:19:44 -0500 The only problem I can see with it is that it relies on a function call, which is a slow operation in the current Elisp implementation. Perhaps the compiler can optimize (EXPR =3D> (lambda (VAR) BODY)) to be (let ((VAR EXPR)) (when VAR ;; book-keeping to mark =E2=80=98cond=E2=80=99 success, ;; to preclude next clause, here. BODY)) ?