La clause do de loop est utilisée pour évaluer un nombre arbitraire d'expressions à chaque itération de la boucle. Le mot-clé do peut être suivi d'un nombre arbitraire d'expressions (progn implicite).
Voici un exemple de boucle infinie :
* (loop do (print 2) (print 3))
2
3
2
3
2
3
...