Понимание синтаксиса макросов Common Lisp do

(do ((n 0 (1+ n))
     (cur 0 next)
     (next 1 (+ cur next)))
    ((= 10 n) cur)))

Это пример из учебника Лиспа о ключевом слове "do"

базовый шаблон "do":

(do (variable-definitions*)
    (end-test-form result-form*)
 statement*)

Но для этого примера мне не ясно, какая часть какая. А также, что делают средние 2 строки?

Спасибо!

9
задан Rainer Joswig 6 October 2013 в 06:48
поделиться