Fonctions de haut niveau II (fonctions qui peuvent etre des arguments)
Etant donne une fonction binaire f et une constante f0, on veut definire la fonction de haut niveau telle que: (reduit f (E1 E2 … En)) -->
(f E1 (f E2 (f … (f En f0) …)))
Examples: (E1 E2 … En) --> E1 + E2 + … + En +0
(E1 E2 … En) --> E1 * E2 * … * En * 1
(f (car l) (reduce f f0 (cdr l))) ) )
E.g.: (reduce + 0 ‘( 1 2 3 4) ) --> 10
(reduce * 1 ‘( 1 2 3 4) ) --> 24