Syntaxe :
sum <identifier> = <from> to <to> do <body> sum <identifier> = <from> to <to> by <increment> do <body> sum <identifier> in <matrix> do <body> prod <identifier> = <from> to <to> do <body> prod <identifier> = <from> to <to> by <increment> do <body> prod <identifier> in <matrix> do <body>
Si vous remplacez for par sum ou prod alors vous obtenez une somme ou un produit à la place d'une boucle for. Au lieu de renvoyer la dernière valeur, cela renvoie la somme ou le produit des valeurs respectivement.
Si aucun contenu (body) est exécuté (par exemple, sum i=1 to 0 do ...) alors la convention standard est que sum renvoie 0 et prod renvoie 1.
For floating point numbers the same roundoff error protection is done as in the for loop. See la section intitulée « Boucles pour (for) ».