Re: emacs lisp syntax rfc: (cond (EXPR => (lambda (X) ...)))

From:

Thien-Thi Nguyen

Subject:

Re: emacs lisp syntax rfc: (cond (EXPR => (lambda (X) ...)))

Date:

Tue, 04 Jan 2011 18:00:57 +0100

User-agent:

Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

() Stefan Monnier <address@hidden>
() 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 => (lambda (VAR) BODY))
to be
(let ((VAR EXPR))
(when VAR
;; book-keeping to mark ‘cond’ success,
;; to preclude next clause, here.
BODY))
?