• [^] # Re: Exemple judicieux ?

    Posté par . En réponse à la dépêche Apprendre la programmation fonctionnelle avec le MOOC OCaml. Évalué à 1.

    Qu'est-ce que tu ne comprends pas dans cet exemple ?

    Je vais essayer de l'expliquer avec un dessin sur l'exemple de l'arbre binaire que j'ai utilisé. Si on le représente graphiquement l'arbre ressemble à cela :

     /\
     / \
    1 /\
     2 3
    

    L'idée de la fonction fold est d'appliquer une fonction f sur les feuilles et une fonction g sur les nœuds. Dans le cas de l'addtion, la fonction plus, cela donnerait cet arbre :

     +
     / \
     / \
    1 +
     / \
     2 3
    

    Ce qui est une façon de représenter sous forme d'arbre le calcul 1 + ( 2 + 3 ).

    Dans le cas général, la fonction fold, cela pourrait se représenter ainsi :

     g
     / \
     / \
    f 1 g
     / \
     f 2 f 3
    

    Le principe te semble-t-il plus clair ainsi ?

    Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.