;;; What is the value of each of these expressions? (+ 1 2) (quote (+ 1 2)) '(+ 1 2) (A B C) '(A B C) ''(A B C) (first ''(A B C)) (list 'a 'b 'c) (+ 1 x) (defvar x 100) (+ 1 x) '(+ 1 x) (+ 1 'x) (list 'x 'y 'z) (list x 'y 'z) (list x y z) `(x y z) `(,x y z) (let ((y 10)) (+ x y)) (+ x y) (let ((x 1)) (+ x 2)) (+ x 2) (eval '(+ 1 2)) (eval (+ 1 2)) (eval 3) (eval (eval (eval (eval (eval (eval (eval (eval (eval 3))))))))) (eval x) (eval 'x) (eval ''x) (eval '''x) (eval (eval (eval (eval (eval (eval (eval (eval (eval ''''''''''x))))))))) (let ((y 10)) (eval '(+ x y))) ;; Why doesn't this program work? (setf file1 "foo.wav") (setf file2 "bar.wav") (setf file-cycle (new cycle :of '(file1 file2))) (with-sound () (one-cut 0 0.5 :soundfile (next file-cycle)) (one-cut 1 0.5 :soundfile (next file-cycle)) ) ;; One solution: (with-sound () (one-cut 0 0.5 :soundfile (eval (next file-cycle))) (one-cut 1 0.5 :soundfile (eval (next file-cycle)) )) ;; A better solution: (setf file-cycle (new cycle :of (list file1 file2))) (with-sound () (one-cut 0 0.5 :soundfile (next file-cycle)) (one-cut 1 0.5 :soundfile (next file-cycle)) )