Il existe une variante de la boucle for qui permet de faire la même chose plus facilement. Pour cela, il suffit d'utiliser downto à la place de to. Traduction : downto = en descendant jusqu'à. Un petit exemple :
for i = 20 downto 1 do print_int i; print_newline(); done;
Remplacer to par downto dans une boucle for pour avoir des valeurs du compteur décroissantes.
Comme d'habitude, prenez le temps de regarder sur un exemple les messages d'erreurs de construction de la structure. Ce n'est vraiment pas du temps perdu.
Simulons ainsi l'oubli du do :
for i = 5 to 7 print_int i; print_newline(); done;
File "test.ml", line 4, characters 0-4: Syntax error
C'est une erreur de syntaxe au niveau du done, un peu comme lorsqu'on oublie un then dans une structure if, et qu'on obtient une erreur sur le else.