DSSSL doesn't have any construct that resembles the for loop that occurs in most imperative languages like C and Java. Instead, DSSSL employs a common trick in functional languages for implementing a loop: tail recursion.
Loops in DSSSL use a special form of let. This loop counts from 1 to 10:
(let loopvar ((count 1)) (if (> count 10) #t (loopvar (+ count 1))))