Re: Paul Graham's Arc is released today... what is the long term impact?




On Mon, 18 Feb 2008, Damien Kick wrote:
my fingers. Personally, I've never even paused to consider typing
(lambda (x) (...)) to be an issue but if I did I would've probably
defined an abbreviation in Emacs for "/." to insert "(lambda (x) ())",
leaving point inside the body of the lambda form. Lisp is already a

Yes, _writing_ lambda is of course not an issue. Reading it, however, can
be. I very often write macros where functions which takes
other functions as arguments would do instead:


(defun when2 (cond then)
(if cond (funcall then)))
(when2 a #'(lambda () b))

vs.

(defmacro when3 (cond &rest rest)
`(cond (,cond ,@rest)))
(when3 a b)


I like the first one because its more explicit
about whats happening and because its easier to debug
a program when only using functions (at least in scheme),
but I still end up writing the macro version instead
only because "(when a b)" is faster to read
than "(when a #'(lambda () b))".


(Hmm, I think maybe the next common lisp should have
optional lazy evaluation for function arguments...)

.