octobre
2009
Dans mon petit exemple de ce jour on va utiliser l’application partielle pour faire l’inverse de ce qu’on en fait habituellement. Au lieu d’éliminer un argument on va au contraire en ajouter un supplémentaire.
L’idée de départ c’est que, étant donné un opérateur diadic (supposé associatif à droite), nous l’appliquons deux fois pour pouvoir opérer sur 3 arguments:
let triadic op a b c = op a (op b c);;
Une application partielle sert à produire un nouvel opérateur triadic:
let plus_plus = triadic (+);;
Comme on a appliqué un argument, la fonction plus_plus ne prend plus que 3 arguments au lieu de 4 pour la fonction triadic.
C’est un point de vue, en tout cas c’est celui mis en avant dans nombre d’introductions à la programmation fonctionnelle.
Un autre point de vue, sans doute plus approprié ici, c’est que la fonction plus_plus prend 3 arguments au lieu de 2 pour la fonction (+) :
plus_plus 1 2 3;; - : int = 6