• [^] # Re: Hum ...

    Posté par . En réponse au journal Votre langage idéal ?. Évalué à 2. Dernière modification le 29 janvier 2012 à 19:20.

    fac n = fac' 1 n
    fac' accu 0 = accu
    fac' accu n = fac' (accu * n) (n - 1)
    
    

    Je trouve ça lisible, personnellement. Tu as un code impératif équivalent "beaucoup plus lisible" sous la main ?

    Par ailleurs, je remarque que let fac n = product [1..n] est aussi un code fonctionnel pur, et plus lisible que les deux versions que tu proposes.