• [^] # Re: Exemple judicieux ?

    Posté par . En réponse à la dépêche Apprendre la programmation fonctionnelle avec le MOOC OCaml. Évalué à 2. Dernière modification le 15 septembre 2016 à 22:44.

    Cela tient en 3 lignes...

    Le lecteur attentif aura sûrement corrigé, la première ligne est inutile car la variable verbe n'est pas utilisée (et comme print_endline tout seul n'est pas une application, il ne peut y avoir d'effet de bord). Le compilateur émettra probablement un warning. Si on désire vraiment indiquer au relecteur que print_endline est un verbe, dans ce cas effectivement une annotation explicite de type peut-être utilisée; là où un commentaire ferait tout aussi bien l'affaire ;-)

    type ('a,'b) verbe = 'a -> 'b ;;
    let rec fois n f x= match n with _ when n <= 0 -> () | n -> f x; fois (n-1) f x
    in (5 |> fois) (print_endline : _ verbe) "abc"