Une variation de la boucle do est la boucle do*, qui s'apparente à let* dans le sens où les variables d'itération sont affectées séquentiellement. Voici le résultat de l'exemple précédent avec une boucle do* :
Ici, i est d'abord mise à jour avec (1+ i), puis j est mise à jour (avec la valeur de i).