教科書がないって、困ったな。HyperSpec とか読んでる?
指標がないと、どーかげばいいのかこっちも悩むじゃねーか。
たとえば、下のコードで何かわからない点はある?

(defun pair (seq)
(loop with counter = 0
for lst on seq
for e1 = (car lst)
do (dolist (e2 (cdr lst))
(format t "(~A ~A)~%" e1 e2)
(incf counter))
finally (format t "~D~%" counter)))