January 6th, 2008

что мне не нравится в лисперах

чорт, не могу удержаться

предлагаю угадать, зачем писался приведённый код

(defmacro aif (test then &optional else)
  `(let ((it ,test))
     (if it ,then ,else)))


примерный аналог на C, если кто не ботает:

#define  AIF(__cond, __then, __else) do { \
 typeof (__cond) it = (__cond); \
 if (it) { __then; } else { __else; } \
} while(0)