Почему "все языки делятся на две группы: Лисп и все прочие" ((ц) не помню кто)? А вот почему:
Определим пару функций:
(define (two-op a b c )
(* (+ a b) c))
(define (swap-ops , new-head)
(setq new-head (nth '(1 1 0) two-op))
(setf (nth '(1 1 0) two-op) (nth '(1 0) two-op))
(setf (nth '(1 0) two-op) new-head))
Пощупаем:
> two-op
(lambda (a
(
Read more... )