5.2 Assign

for $k from 0 to 5 do Assign(%1,t,k), %1 od

%1 représente le premier paramètre de la macro (c’est à dire f(t)), la boucle : pour k allant de 0 à 5 elle exécute la commande [Assign(%1, t, k), %1], celle-ci assigne la valeur de k à la variable t dans l’expression %1, puis évalue %1. L’exécution de Bof(t^2) donne : [0,1,4,9,16,25]. L’exécution de Bof(x^2) donne Nil.

1.C’est la première occurrence de <variable> dans <expression> qui est assignée, car toutes les occurrences pointent sur la même <case mémoire>, sauf éventuellement pour les macros après l’affectation des paramètres.