(do ((n 0 (1+ n))
(cur 0 next)
(next 1 (+ cur next)))
((= 10 n) cur)))
This is an example from a Lisp textbook about the keyword do.
The do basic template is:
(do (variable-definitions*)
(end-test-form result-form*)
statement*)
But, for this example, it’s not clear to me which part is which. And also, what do the middle 2 lines do?
Your good indentation clearly shows which part is which:
Look, they line up nicely, and the inner material is indented:
Your
dodoesn’t have a third argument there: there is no body of statements (empty loop).